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