ReactOS 0.4.15-dev-8614-gbc76250
CShellItemArray Class Reference
Inheritance diagram for CShellItemArray:
Collaboration diagram for CShellItemArray:

Public Member Functions

 CShellItemArray ()
 
virtual ~CShellItemArray ()
 
HRESULT Initialize (IDataObject *pdo)
 
UINT GetCount () const
 
STDMETHODIMP BindToHandler (IBindCtx *pbc, REFGUID rbhid, REFIID riid, void **ppv) override
 
STDMETHODIMP GetPropertyStore (GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv) override
 
STDMETHODIMP GetPropertyDescriptionList (REFPROPERTYKEY keyType, REFIID riid, void **ppv) override
 
STDMETHODIMP GetAttributes (SIATTRIBFLAGS dwAttribFlags, SFGAOF sfgaoMask, SFGAOF *psfgaoAttribs) override
 
STDMETHODIMP GetCount (DWORD *pCount) override
 
STDMETHODIMP GetItemAt (DWORD nIndex, IShellItem **ppItem) override
 
STDMETHODIMP EnumItems (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

CIDAm_pCIDA
 
STGMEDIUM m_Medium
 

Additional Inherited Members

- Static Public Member Functions inherited from ATL::CComCoClass< CShellItemArray, &CLSID_NULL >
static LPCTSTR WINAPI GetObjectDescription ()
 
- 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 339 of file CShellItem.cpp.

Constructor & Destructor Documentation

◆ CShellItemArray()

CShellItemArray::CShellItemArray ( )
inline

Definition at line 348 of file CShellItem.cpp.

348 : m_pCIDA(NULL)
349 {
350 m_Medium.tymed = TYMED_NULL;
351 }
STGMEDIUM m_Medium
Definition: CShellItem.cpp:345
#define NULL
Definition: types.h:112

◆ ~CShellItemArray()

virtual CShellItemArray::~CShellItemArray ( )
inlinevirtual

Definition at line 353 of file CShellItem.cpp.

354 {
355 CDataObjectHIDA::DestroyCIDA(m_pCIDA, m_Medium);
356 }

Member Function Documentation

◆ BindToHandler()

STDMETHODIMP CShellItemArray::BindToHandler ( IBindCtx pbc,
REFGUID  rbhid,
REFIID  riid,
void **  ppv 
)
inlineoverride

Definition at line 366 of file CShellItem.cpp.

367 {
369 *ppv = NULL;
370 return E_NOTIMPL;
371 }
#define UNIMPLEMENTED
Definition: debug.h:118
#define E_NOTIMPL
Definition: ddrawi.h:99
REFIID LPVOID * ppv
Definition: atlbase.h:39

◆ EnumItems()

STDMETHODIMP CShellItemArray::EnumItems ( IEnumShellItems **  ppESI)
inlineoverride

Definition at line 413 of file CShellItem.cpp.

414 {
416 *ppESI = NULL;
417 return E_NOTIMPL;
418 }

◆ GetAttributes()

STDMETHODIMP CShellItemArray::GetAttributes ( SIATTRIBFLAGS  dwAttribFlags,
SFGAOF  sfgaoMask,
SFGAOF psfgaoAttribs 
)
inlineoverride

Definition at line 387 of file CShellItem.cpp.

388 {
390 *psfgaoAttribs = 0;
391 return E_NOTIMPL;
392 }

◆ GetCount() [1/2]

UINT CShellItemArray::GetCount ( ) const
inline

Definition at line 363 of file CShellItem.cpp.

363{ return m_pCIDA->cidl; }
UINT cidl
Definition: shlobj.h:572

Referenced by GetCount(), and GetItemAt().

◆ GetCount() [2/2]

STDMETHODIMP CShellItemArray::GetCount ( DWORD pCount)
inlineoverride

Definition at line 394 of file CShellItem.cpp.

395 {
396 *pCount = m_pCIDA ? GetCount() : 0;
397 return S_OK;
398 }
UINT GetCount() const
Definition: CShellItem.cpp:363
#define S_OK
Definition: intsafe.h:52

◆ GetItemAt()

STDMETHODIMP CShellItemArray::GetItemAt ( DWORD  nIndex,
IShellItem **  ppItem 
)
inlineoverride

Definition at line 400 of file CShellItem.cpp.

401 {
402 if (!ppItem)
403 return E_INVALIDARG;
404 *ppItem = NULL;
405 if (!m_pCIDA)
406 return E_UNEXPECTED;
407 if (nIndex >= GetCount())
408 return E_FAIL;
410 HIDA_GetPIDLItem(m_pCIDA, nIndex), ppItem);
411 }
EXTERN_C HRESULT WINAPI SHCreateShellItem(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, IShellItem **ppsi)
Definition: CShellItem.cpp:264
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_FAIL
Definition: ddrawi.h:102
static PCUIDLIST_RELATIVE HIDA_GetPIDLItem(CIDA const *pida, SIZE_T i)
Definition: shellutils.h:639
static PCUIDLIST_ABSOLUTE HIDA_GetPIDLFolder(CIDA const *pida)
Definition: shellutils.h:634
#define E_UNEXPECTED
Definition: winerror.h:2456

◆ GetPropertyDescriptionList()

STDMETHODIMP CShellItemArray::GetPropertyDescriptionList ( REFPROPERTYKEY  keyType,
REFIID  riid,
void **  ppv 
)
inlineoverride

Definition at line 380 of file CShellItem.cpp.

381 {
383 *ppv = NULL;
384 return E_NOTIMPL;
385 }

◆ GetPropertyStore()

STDMETHODIMP CShellItemArray::GetPropertyStore ( GETPROPERTYSTOREFLAGS  flags,
REFIID  riid,
void **  ppv 
)
inlineoverride

Definition at line 373 of file CShellItem.cpp.

374 {
376 *ppv = NULL;
377 return E_NOTIMPL;
378 }

◆ Initialize()

HRESULT CShellItemArray::Initialize ( IDataObject pdo)
inline

Definition at line 358 of file CShellItem.cpp.

359 {
360 return CDataObjectHIDA::CreateCIDA(pdo, &m_pCIDA, m_Medium);
361 }

Member Data Documentation

◆ m_Medium

STGMEDIUM CShellItemArray::m_Medium
private

Definition at line 345 of file CShellItem.cpp.

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

◆ m_pCIDA

CIDA* CShellItemArray::m_pCIDA
private

Definition at line 344 of file CShellItem.cpp.

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


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