ReactOS 0.4.17-dev-635-g26f9205
CShellItemArray Class Reference

#include <CShellItemArray.h>

Inheritance diagram for CShellItemArray:
Collaboration diagram for CShellItemArray:

Public Member Functions

 CShellItemArray ()
 
virtual ~CShellItemArray ()
 
HRESULT Initialize (_In_ IDataObject *pdo)
 
UINT ItemCount () const
 
STDMETHODIMP BindToHandler (_In_opt_ IBindCtx *pbc, _In_ REFGUID rbhid, _In_ REFIID riid, _Out_ void **ppv) override
 
STDMETHODIMP GetPropertyStore (_In_ GETPROPERTYSTOREFLAGS flags, _In_ REFIID riid, _Out_ void **ppv) override
 
STDMETHODIMP GetPropertyDescriptionList (_In_ REFPROPERTYKEY keyType, _In_ REFIID riid, _Out_ void **ppv) override
 
STDMETHODIMP GetAttributes (_In_ SIATTRIBFLAGS dwAttribFlags, _In_ SFGAOF sfgaoMask, _Out_ SFGAOF *psfgaoAttribs) override
 
STDMETHODIMP GetCount (_Out_ DWORD *pCount) override
 
STDMETHODIMP GetItemAt (_In_ DWORD nIndex, _Out_ IShellItem **ppItem) override
 
STDMETHODIMP EnumItems (_Out_ IEnumShellItems **ppESI) override
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 

Private Attributes

CDataObjectHIDA * m_pHIDA
 

Additional Inherited Members

- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 

Detailed Description

Definition at line 5 of file CShellItemArray.h.

Constructor & Destructor Documentation

◆ CShellItemArray()

CShellItemArray::CShellItemArray ( )

Definition at line 11 of file CShellItemArray.cpp.

11 : m_pHIDA(NULL)
12{
13}
CDataObjectHIDA * m_pHIDA
#define NULL
Definition: types.h:112

◆ ~CShellItemArray()

CShellItemArray::~CShellItemArray ( )
virtual

Definition at line 15 of file CShellItemArray.cpp.

16{
17 delete m_pHIDA;
18}

Member Function Documentation

◆ BindToHandler()

STDMETHODIMP CShellItemArray::BindToHandler ( _In_opt_ IBindCtx pbc,
_In_ REFGUID  rbhid,
_In_ REFIID  riid,
_Out_ void **  ppv 
)
override

Definition at line 43 of file CShellItemArray.cpp.

44{
46 *ppv = NULL;
47 return E_NOTIMPL;
48}
#define UNIMPLEMENTED
Definition: ntoskrnl.c:15
#define E_NOTIMPL
Definition: ddrawi.h:99
REFIID LPVOID * ppv
Definition: atlbase.h:39

◆ EnumItems()

STDMETHODIMP CShellItemArray::EnumItems ( _Out_ IEnumShellItems **  ppESI)
override

Definition at line 98 of file CShellItemArray.cpp.

99{
101 *ppESI = NULL;
102 return E_NOTIMPL;
103}

◆ GetAttributes()

STDMETHODIMP CShellItemArray::GetAttributes ( _In_ SIATTRIBFLAGS  dwAttribFlags,
_In_ SFGAOF  sfgaoMask,
_Out_ SFGAOF psfgaoAttribs 
)
override

Definition at line 67 of file CShellItemArray.cpp.

68{
70 *psfgaoAttribs = 0;
71 return E_NOTIMPL;
72}

◆ GetCount()

STDMETHODIMP CShellItemArray::GetCount ( _Out_ DWORD pCount)
override

Definition at line 75 of file CShellItemArray.cpp.

76{
77 if (!pCount)
78 return E_INVALIDARG;
79 *pCount = ItemCount();
80 return S_OK;
81}
UINT ItemCount() const
#define E_INVALIDARG
Definition: ddrawi.h:101
#define S_OK
Definition: intsafe.h:52

◆ GetItemAt()

STDMETHODIMP CShellItemArray::GetItemAt ( _In_ DWORD  nIndex,
_Out_ IShellItem **  ppItem 
)
override

Definition at line 84 of file CShellItemArray.cpp.

85{
86 if (!ppItem)
87 return E_INVALIDARG;
88 *ppItem = NULL;
89 if (!m_pHIDA)
90 return E_UNEXPECTED;
91 if (nIndex >= ItemCount())
92 return E_FAIL;
94 HIDA_GetPIDLItem(*m_pHIDA, nIndex), ppItem);
95}
HRESULT WINAPI SHCreateShellItem(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, IShellItem **ppsi)
Definition: CShellItem.cpp:261
#define E_FAIL
Definition: ddrawi.h:102
static PCUIDLIST_RELATIVE HIDA_GetPIDLItem(CIDA const *pida, SIZE_T i)
Definition: shellutils.h:721
static PCUIDLIST_ABSOLUTE HIDA_GetPIDLFolder(CIDA const *pida)
Definition: shellutils.h:716
#define E_UNEXPECTED
Definition: winerror.h:3528

◆ GetPropertyDescriptionList()

STDMETHODIMP CShellItemArray::GetPropertyDescriptionList ( _In_ REFPROPERTYKEY  keyType,
_In_ REFIID  riid,
_Out_ void **  ppv 
)
override

Definition at line 59 of file CShellItemArray.cpp.

60{
62 *ppv = NULL;
63 return E_NOTIMPL;
64}

◆ GetPropertyStore()

STDMETHODIMP CShellItemArray::GetPropertyStore ( _In_ GETPROPERTYSTOREFLAGS  flags,
_In_ REFIID  riid,
_Out_ void **  ppv 
)
override

Definition at line 51 of file CShellItemArray.cpp.

52{
54 *ppv = NULL;
55 return E_NOTIMPL;
56}

◆ Initialize()

HRESULT CShellItemArray::Initialize ( _In_ IDataObject pdo)

Definition at line 21 of file CShellItemArray.cpp.

22{
23 m_pHIDA = new CDataObjectHIDA(pdo);
24 if (!m_pHIDA)
25 return E_OUTOFMEMORY;
26
27 HRESULT hr = m_pHIDA->hr();
28 if (FAILED(hr))
29 {
30 delete m_pHIDA;
31 m_pHIDA = NULL;
32 }
33 return hr;
34}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HRESULT hr
Definition: delayimp.cpp:582
#define FAILED(hr)
Definition: intsafe.h:51

◆ ItemCount()

UINT CShellItemArray::ItemCount ( ) const

Definition at line 37 of file CShellItemArray.cpp.

38{
39 return m_pHIDA ? (*m_pHIDA)->cidl : 0;
40}

Referenced by GetCount(), and GetItemAt().

Member Data Documentation

◆ m_pHIDA

CDataObjectHIDA* CShellItemArray::m_pHIDA
private

Definition at line 10 of file CShellItemArray.h.

Referenced by GetItemAt(), Initialize(), ItemCount(), and ~CShellItemArray().


The documentation for this class was generated from the following files: