ReactOS 0.4.17-dev-523-gf6fcb59
CSimpleShellItemArray.h
Go to the documentation of this file.
1
2#pragma once
3
5 public CComCoClass<CSimpleShellItemArray, &CLSID_NULL>,
6 public CComObjectRootEx<CComMultiThreadModelNoCS>,
7 public IShellItemArray
8{
9 CAtlArray<CComPtr<IShellItem>> m_items;
10
11public:
13
14 // IShellItemArray
16 STDMETHODIMP GetPropertyStore(_In_ GETPROPERTYSTOREFLAGS flags, _In_ REFIID riid, _Out_ void **ppv) override;
18 STDMETHODIMP GetAttributes(_In_ SIATTRIBFLAGS dwAttribFlags, _In_ SFGAOF sfgaoMask, _Out_ SFGAOF *psfgaoAttribs) override;
19 STDMETHODIMP GetCount(_Out_ DWORD *pdwNumItems) override;
20 STDMETHODIMP GetItemAt(_In_ DWORD dwIndex, _Out_ IShellItem **ppsi) override;
21 STDMETHODIMP EnumItems(_Out_ IEnumShellItems **ppenumShellItems) override;
22
25
27 COM_INTERFACE_ENTRY_IID(IID_IShellItemArray, IShellItemArray)
29};
30
33 _In_ UINT cidl,
35 _Out_ void **ppv);
HRESULT CreateShellItemArrayFromItems(_In_reads_(cidl) IShellItem **items, _In_ UINT cidl, _In_ REFIID riid, _Out_ void **ppv)
#define STDMETHODIMP
Definition: basetyps.h:43
STDMETHODIMP BindToHandler(_In_opt_ IBindCtx *pbc, _In_ REFGUID rbhid, _In_ REFIID riid, _Out_ void **ppv) override
CAtlArray< CComPtr< IShellItem > > m_items
STDMETHODIMP GetAttributes(_In_ SIATTRIBFLAGS dwAttribFlags, _In_ SFGAOF sfgaoMask, _Out_ SFGAOF *psfgaoAttribs) override
STDMETHODIMP GetPropertyStore(_In_ GETPROPERTYSTOREFLAGS flags, _In_ REFIID riid, _Out_ void **ppv) override
STDMETHODIMP EnumItems(_Out_ IEnumShellItems **ppenumShellItems) override
STDMETHODIMP GetPropertyDescriptionList(_In_ REFPROPERTYKEY keyType, _In_ REFIID riid, _Out_ void **ppv) override
STDMETHODIMP GetItemAt(_In_ DWORD dwIndex, _Out_ IShellItem **ppsi) override
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
Definition: ebrowser.c:83
unsigned long DWORD
Definition: ntddk_ex.h:95
return pList GetCount()
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLbitfield flags
Definition: glext.h:7161
unsigned int UINT
Definition: sysinfo.c:13
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define END_COM_MAP()
Definition: atlcom.h:592
#define DECLARE_NO_REGISTRY()
Definition: atlcom.h:639
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
static TCHAR * items[]
Definition: page1.c:45
PROPERTYKEY * REFPROPERTYKEY
Definition: propsys.idl:40
#define REFIID
Definition: guiddef.h:118
Definition: scsiwmi.h:51
static void Initialize()
Definition: xlate.c:212