mirror of
https://github.com/reactos/reactos.git
synced 2025-06-04 17:00:31 +00:00
[PSDK]
- Add missing shlobj.h changes from the previous commit - Correctly define ITEMIDLIST types, and add initial support for STRICT_TYPED_ITEMIDS CORE-8441 #resolve svn path=/trunk/; revision=69621
This commit is contained in:
parent
da8f249696
commit
66503f6e3f
2 changed files with 46 additions and 18 deletions
|
@ -2139,10 +2139,10 @@ typedef struct
|
|||
{
|
||||
HWND hwnd;
|
||||
IContextMenuCB *pcmcb;
|
||||
LPCITEMIDLIST pidlFolder;
|
||||
PCIDLIST_ABSOLUTE pidlFolder;
|
||||
IShellFolder *psf;
|
||||
UINT cidl;
|
||||
LPCITEMIDLIST* apidl;
|
||||
PCUITEMID_CHILD_ARRAY apidl;
|
||||
IUnknown *punkAssociationInfo;
|
||||
UINT cKeys;
|
||||
const HKEY *aKeys;
|
||||
|
@ -2167,10 +2167,10 @@ typedef HRESULT
|
|||
HRESULT
|
||||
WINAPI
|
||||
CDefFolderMenu_Create2(
|
||||
_In_opt_ LPCITEMIDLIST,
|
||||
_In_opt_ PCIDLIST_ABSOLUTE,
|
||||
_In_opt_ HWND,
|
||||
UINT cidl,
|
||||
_In_reads_opt_(cidl) LPCITEMIDLIST*,
|
||||
_In_reads_opt_(cidl) PCUITEMID_CHILD_ARRAY,
|
||||
_In_opt_ IShellFolder*,
|
||||
_In_opt_ LPFNDFMCALLBACK,
|
||||
UINT nKeys,
|
||||
|
@ -2190,9 +2190,9 @@ SHCreateDefaultExtractIcon(
|
|||
*/
|
||||
|
||||
HRESULT WINAPI SHCreateDataObject(
|
||||
_In_opt_ LPCITEMIDLIST pidlFolder,
|
||||
_In_opt_ PCIDLIST_ABSOLUTE pidlFolder,
|
||||
_In_ UINT cidl,
|
||||
_In_reads_opt_(cidl) LPCITEMIDLIST* apidl,
|
||||
_In_reads_opt_(cidl) PCUITEMID_CHILD_ARRAY apidl,
|
||||
_In_opt_ IDataObject *pdtInner,
|
||||
_In_ REFIID riid,
|
||||
_Outptr_ void **ppv);
|
||||
|
@ -2202,9 +2202,9 @@ HRESULT WINAPI SHCreateDataObject(
|
|||
*/
|
||||
|
||||
HRESULT WINAPI CIDLData_CreateFromIDArray(
|
||||
_In_ LPCITEMIDLIST pidlFolder,
|
||||
_In_ PCIDLIST_ABSOLUTE pidlFolder,
|
||||
_In_ UINT cidl,
|
||||
_In_reads_opt_(cidl) LPCITEMIDLIST* apidl,
|
||||
_In_reads_opt_(cidl) PCUIDLIST_RELATIVE_ARRAY apidl,
|
||||
_Outptr_ IDataObject **ppdtobj);
|
||||
|
||||
/****************************************************************************
|
||||
|
|
|
@ -32,16 +32,44 @@ typedef const SHITEMID *LPCSHITEMID;
|
|||
typedef struct _ITEMIDLIST
|
||||
{
|
||||
SHITEMID mkid; /* first itemid in list */
|
||||
} ITEMIDLIST,*LPITEMIDLIST;
|
||||
typedef const ITEMIDLIST *LPCITEMIDLIST;
|
||||
typedef LPITEMIDLIST PITEMID_CHILD;
|
||||
typedef LPCITEMIDLIST PCITEMID_CHILD;
|
||||
typedef LPCITEMIDLIST PCUITEMID_CHILD;
|
||||
typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY;
|
||||
typedef LPITEMIDLIST PIDLIST_RELATIVE;
|
||||
typedef LPCITEMIDLIST PCUIDLIST_RELATIVE;
|
||||
typedef LPITEMIDLIST PIDLIST_ABSOLUTE;
|
||||
typedef LPCITEMIDLIST PCIDLIST_ABSOLUTE;
|
||||
} ITEMIDLIST;
|
||||
|
||||
#ifndef UNALIGNED
|
||||
#define UNALIGNED
|
||||
#endif
|
||||
|
||||
typedef ITEMIDLIST UNALIGNED *LPITEMIDLIST;
|
||||
typedef const ITEMIDLIST UNALIGNED *LPCITEMIDLIST;
|
||||
|
||||
cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)")
|
||||
cpp_quote("typedef struct _ITEMIDLIST_RELATIVE : public ITEMIDLIST { } ITEMIDLIST_RELATIVE;")
|
||||
cpp_quote("typedef struct _ITEMIDLIST_ABSOLUTE : public ITEMIDLIST_RELATIVE { } ITEMIDLIST_ABSOLUTE;")
|
||||
cpp_quote("typedef struct _ITEMID_CHILD : public ITEMIDLIST_RELATIVE { } ITEMID_CHILD;")
|
||||
cpp_quote("#else")
|
||||
typedef ITEMIDLIST ITEMIDLIST_RELATIVE;
|
||||
typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE;
|
||||
typedef ITEMIDLIST ITEMID_CHILD;
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef ITEMIDLIST_RELATIVE *PIDLIST_RELATIVE;
|
||||
typedef ITEMIDLIST_RELATIVE UNALIGNED *PUIDLIST_RELATIVE;
|
||||
typedef const ITEMIDLIST_RELATIVE *PCIDLIST_RELATIVE;
|
||||
typedef const ITEMIDLIST_RELATIVE UNALIGNED *PCUIDLIST_RELATIVE;
|
||||
typedef const PCUIDLIST_RELATIVE *PCUIDLIST_RELATIVE_ARRAY;
|
||||
|
||||
typedef ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
|
||||
typedef ITEMIDLIST_ABSOLUTE UNALIGNED *PUIDLIST_ABSOLUTE;
|
||||
typedef const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE;
|
||||
typedef const ITEMIDLIST_ABSOLUTE UNALIGNED *PCUIDLIST_ABSOLUTE;
|
||||
typedef const PCIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE_ARRAY;
|
||||
typedef const PCUIDLIST_ABSOLUTE *PCUIDLIST_ABSOLUTE_ARRAY;
|
||||
|
||||
typedef ITEMID_CHILD *PITEMID_CHILD;
|
||||
typedef ITEMID_CHILD UNALIGNED *PUITEMID_CHILD;
|
||||
typedef const ITEMID_CHILD *PCITEMID_CHILD;
|
||||
typedef const ITEMID_CHILD UNALIGNED *PCUITEMID_CHILD;
|
||||
typedef const PCUITEMID_CHILD *PCUITEMID_CHILD_ARRAY;
|
||||
|
||||
cpp_quote("#include <poppack.h>")
|
||||
|
||||
#ifndef MAX_PATH
|
||||
|
|
Loading…
Reference in a new issue