xref: /reactos/dll/win32/browseui/aclhistory.h (revision 7353af1e)
1 /*
2  * PROJECT:     ReactOS Shell
3  * LICENSE:     LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
4  * PURPOSE:     Implement CLSID_ACLHistory for auto-completion
5  * COPYRIGHT:   Copyright 2021 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6  */
7 
8 #pragma once
9 
10 class CACLHistory
11     : public CComCoClass<CACLHistory, &CLSID_ACLHistory>
12     , public CComObjectRootEx<CComMultiThreadModelNoCS>
13     , public IEnumString
14 {
15 public:
16     CACLHistory();
17     virtual ~CACLHistory();
18 
19     // *** IEnumString methods ***
20     STDMETHODIMP Next(ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched) override;
21     STDMETHODIMP Skip(ULONG celt) override;
22     STDMETHODIMP Reset() override;
23     STDMETHODIMP Clone(IEnumString **ppenum) override;
24 
25 public:
26     DECLARE_REGISTRY_RESOURCEID(IDR_ACLHISTORY)
27     DECLARE_NOT_AGGREGATABLE(CACLHistory)
28 
29     DECLARE_PROTECT_FINAL_CONSTRUCT()
30 
31     BEGIN_COM_MAP(CACLHistory)
32         COM_INTERFACE_ENTRY_IID(IID_IEnumString, IEnumString)
33     END_COM_MAP()
34 };
35