23 m_pHIDA =
new CDataObjectHIDA(pdo);
39 return m_pHIDA ? (*m_pHIDA)->cidl : 0;
157 if (dwAttribFlags & ~(SIATTRIBFLAGS_AND | SIATTRIBFLAGS_OR))
158 FIXME(
"%08x contains unsupported attribution flags\n", dwAttribFlags);
160 for (
size_t i = 0;
i <
m_items.GetCount(); ++
i)
168 *psfgaoAttribs =
attr;
172 if ((dwAttribFlags & SIATTRIBFLAGS_MASK) == SIATTRIBFLAGS_AND)
173 *psfgaoAttribs &=
attr;
175 *psfgaoAttribs |=
attr;
180 if (*psfgaoAttribs == sfgaoMask)
202 if (dwIndex >=
m_items.GetCount())
213 *ppenumShellItems =
NULL;
220 return ShellObjectCreatorInit<CSimpleShellItemArray>(
items, cidl,
riid,
ppv);
232 _Out_ IShellItemArray **ppsiItemArray)
237 TRACE(
"(%p,%p,%u,%p,%p)\n", pidlParent, psf, cidl, ppidl, ppsiItemArray);
241 *ppsiItemArray =
NULL;
243 if (!pidlParent && !psf)
249 array.Allocate(cidl);
253 for (
UINT i = 0;
i < cidl; ++
i)
256 for (
UINT i = 0;
i < cidl; ++
i)
268 for (
UINT i = 0;
i < cidl; ++
i)
284 _Out_ IShellItemArray **ppsiItemArray)
289 TRACE(
"(%u,%p,%p)\n", cidl, pidlArray, ppsiItemArray);
293 *ppsiItemArray =
NULL;
295 if (cidl == 0 || !pidlArray)
298 array.Allocate(cidl);
302 for (
UINT i = 0;
i < cidl; ++
i)
305 for (
UINT i = 0;
i < cidl; ++
i)
317 for (
UINT i = 0;
i < cidl; ++
i)
352 return ShellObjectCreatorInit<CShellItemArray>(pdo,
riid,
ppv);
EXTERN_C HRESULT WINAPI SHCreateShellItemArrayFromIDLists(_In_ UINT cidl, _In_reads_(cidl) PCIDLIST_ABSOLUTE_ARRAY pidlArray, _Out_ IShellItemArray **ppsiItemArray)
EXTERN_C HRESULT WINAPI SHCreateShellItemArrayFromDataObject(_In_ IDataObject *pdo, _In_ REFIID riid, _Out_ void **ppv)
EXTERN_C HRESULT WINAPI SHCreateShellItemArrayFromShellItem(_In_ IShellItem *psi, _In_ REFIID riid, _Out_ void **ppv)
HRESULT CreateShellItemArrayFromItems(_In_reads_(cidl) IShellItem **items, _In_ UINT cidl, _In_ REFIID riid, _Out_ void **ppv)
EXTERN_C HRESULT WINAPI SHCreateShellItemArray(_In_opt_ PCIDLIST_ABSOLUTE pidlParent, _In_opt_ IShellFolder *psf, _In_ UINT cidl, _In_reads_opt_(cidl) PCUITEMID_CHILD_ARRAY ppidl, _Out_ IShellItemArray **ppsiItemArray)
HRESULT WINAPI SHCreateShellItem(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, IShellItem **ppsi)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
CDataObjectHIDA * m_pHIDA
virtual ~CShellItemArray()
STDMETHODIMP GetItemAt(_In_ DWORD nIndex, _Out_ IShellItem **ppItem) 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 EnumItems(_Out_ IEnumShellItems **ppESI) override
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
HRESULT Initialize(_In_ IDataObject *pdo)
STDMETHODIMP BindToHandler(_In_opt_ IBindCtx *pbc, _In_ REFGUID rbhid, _In_ REFIID riid, _Out_ void **ppv) override
CAtlArray< CComPtr< IShellItem > > m_items
HRESULT Initialize(_In_reads_(count) IShellItem **pitems, _In_ UINT count)
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
STDMETHODIMP GetCount(_Out_ DWORD *pdwNumItems) override
#define FAILED_UNEXPECTEDLY
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define _In_reads_opt_(s)
PROPERTYKEY * REFPROPERTYKEY
static PCUIDLIST_RELATIVE HIDA_GetPIDLItem(CIDA const *pida, SIZE_T i)
static PCUIDLIST_ABSOLUTE HIDA_GetPIDLFolder(CIDA const *pida)
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
#define IID_PPV_ARG(Itype, ppType)