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