[PSDK] Support STRICT_TYPED_ITEMIDS in shlobj.h. CORE-16385

This commit is contained in:
Suraj K Suresh 2019-12-23 14:21:51 +05:30 committed by Mark Jansen
parent ef0a1eb527
commit ecb3ee5427
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B
5 changed files with 130 additions and 130 deletions

View file

@ -24,8 +24,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(shell); WINE_DEFAULT_DEBUG_CHANNEL(shell);
EXTERN_C HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent, EXTERN_C HRESULT WINAPI SHCreateShellItem(PCIDLIST_ABSOLUTE pidlParent,
IShellFolder *psfParent, LPCITEMIDLIST pidl, IShellItem **ppsi); IShellFolder *psfParent, PCUITEMID_CHILD pidl, IShellItem **ppsi);
CShellItem::CShellItem() : CShellItem::CShellItem() :
m_pidl(NULL) m_pidl(NULL)
@ -261,8 +261,8 @@ HRESULT WINAPI CShellItem::GetIDList(PIDLIST_ABSOLUTE *ppidl)
return E_OUTOFMEMORY; return E_OUTOFMEMORY;
} }
HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent, HRESULT WINAPI SHCreateShellItem(PCIDLIST_ABSOLUTE pidlParent,
IShellFolder *psfParent, LPCITEMIDLIST pidl, IShellItem **ppsi) IShellFolder *psfParent, PCUITEMID_CHILD pidl, IShellItem **ppsi)
{ {
HRESULT hr; HRESULT hr;
CComPtr<IShellItem> newShellItem; CComPtr<IShellItem> newShellItem;

View file

@ -638,7 +638,7 @@ BOOL WINAPI ILIsParent(LPCITEMIDLIST pidlParent, LPCITEMIDLIST pidlChild, BOOL b
* NOTES * NOTES
* exported by ordinal. * exported by ordinal.
*/ */
LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PUIDLIST_RELATIVE WINAPI ILFindChild(PIDLIST_ABSOLUTE pidl1, PCIDLIST_ABSOLUTE pidl2)
{ {
LPCITEMIDLIST pidltemp1 = pidl1; LPCITEMIDLIST pidltemp1 = pidl1;
LPCITEMIDLIST pidltemp2 = pidl2; LPCITEMIDLIST pidltemp2 = pidl2;
@ -674,7 +674,7 @@ LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
ret = NULL; /* elements of pidl1 left*/ ret = NULL; /* elements of pidl1 left*/
} }
TRACE_(shell)("--- %p\n", ret); TRACE_(shell)("--- %p\n", ret);
return (LPITEMIDLIST)ret; /* pidl 1 is shorter */ return (PUIDLIST_RELATIVE)ret; /* pidl 1 is shorter */
} }
/************************************************************************* /*************************************************************************

View file

@ -743,7 +743,7 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
if (SUCCEEDED(SHGetSpecialFolderLocation(hwnd, CSIDL_RECENT, if (SUCCEEDED(SHGetSpecialFolderLocation(hwnd, CSIDL_RECENT,
&pidl))) { &pidl))) {
SHGetPathFromIDListA(pidl, link_dir); SHGetPathFromIDListA(pidl, link_dir);
IMalloc_Free(ppM, pidl); IMalloc_Free(ppM,pidl);
} }
else { else {
/* serious issues */ /* serious issues */
@ -1824,7 +1824,7 @@ HRESULT WINAPI SHCreateStdEnumFmtEtc(
/************************************************************************* /*************************************************************************
* SHFindFiles (SHELL32.90) * SHFindFiles (SHELL32.90)
*/ */
BOOL WINAPI SHFindFiles( LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlSaveFile ) BOOL WINAPI SHFindFiles( PCIDLIST_ABSOLUTE pidlFolder, PCIDLIST_ABSOLUTE pidlSaveFile )
{ {
FIXME("params ignored: %p %p\n", pidlFolder, pidlSaveFile); FIXME("params ignored: %p %p\n", pidlFolder, pidlSaveFile);
if (SHRestricted(REST_NOFIND)) if (SHRestricted(REST_NOFIND))
@ -1870,7 +1870,7 @@ VOID WINAPI SHUpdateImageA(LPCSTR pszHashItem, INT iIndex, UINT uFlags, INT iIma
FIXME("%s, %d, 0x%x, %d - stub\n", debugstr_a(pszHashItem), iIndex, uFlags, iImageIndex); FIXME("%s, %d, 0x%x, %d - stub\n", debugstr_a(pszHashItem), iIndex, uFlags, iImageIndex);
} }
INT WINAPI SHHandleUpdateImage(LPCITEMIDLIST pidlExtra) INT WINAPI SHHandleUpdateImage(PCIDLIST_ABSOLUTE pidlExtra)
{ {
FIXME("%p - stub\n", pidlExtra); FIXME("%p - stub\n", pidlExtra);

View file

@ -135,9 +135,9 @@ HRESULT WINAPI SHCreateQueryCancelAutoPlayMoniker(IMoniker**);
HRESULT HRESULT
WINAPI WINAPI
SHCreateShellItem( SHCreateShellItem(
_In_opt_ LPCITEMIDLIST, _In_opt_ PCIDLIST_ABSOLUTE,
_In_opt_ IShellFolder*, _In_opt_ IShellFolder*,
_In_ LPCITEMIDLIST, _In_ PCUITEMID_CHILD,
_Outptr_ IShellItem**); _Outptr_ IShellItem**);
DWORD WINAPI SHCLSIDFromStringA(_In_ LPCSTR, _Out_ CLSID*); DWORD WINAPI SHCLSIDFromStringA(_In_ LPCSTR, _Out_ CLSID*);
@ -152,7 +152,7 @@ SHCreateStdEnumFmtEtc(
_Outptr_ IEnumFORMATETC**); _Outptr_ IEnumFORMATETC**);
void WINAPI SHDestroyPropSheetExtArray(_In_ HPSXA); void WINAPI SHDestroyPropSheetExtArray(_In_ HPSXA);
BOOL WINAPI SHFindFiles(_In_opt_ LPCITEMIDLIST, _In_opt_ LPCITEMIDLIST); BOOL WINAPI SHFindFiles(_In_opt_ PCIDLIST_ABSOLUTE, _In_opt_ PCIDLIST_ABSOLUTE);
DWORD WINAPI SHFormatDrive(_In_ HWND, UINT, UINT, UINT); DWORD WINAPI SHFormatDrive(_In_ HWND, UINT, UINT, UINT);
void WINAPI SHFree(_In_opt_ LPVOID); void WINAPI SHFree(_In_opt_ LPVOID);
@ -196,25 +196,25 @@ _Success_(return != 0)
BOOL BOOL
WINAPI WINAPI
SHGetPathFromIDListA( SHGetPathFromIDListA(
_In_ LPCITEMIDLIST, _In_ PCIDLIST_ABSOLUTE,
_Out_writes_(MAX_PATH) LPSTR); _Out_writes_(MAX_PATH) LPSTR);
_Success_(return != 0) _Success_(return != 0)
BOOL BOOL
WINAPI WINAPI
SHGetPathFromIDListW( SHGetPathFromIDListW(
_In_ LPCITEMIDLIST, _In_ PCIDLIST_ABSOLUTE,
_Out_writes_(MAX_PATH) LPWSTR); _Out_writes_(MAX_PATH) LPWSTR);
#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList) #define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
INT WINAPI SHHandleUpdateImage(_In_ LPCITEMIDLIST); INT WINAPI SHHandleUpdateImage(_In_ PCIDLIST_ABSOLUTE);
HRESULT HRESULT
WINAPI WINAPI
SHILCreateFromPath( SHILCreateFromPath(
_In_ LPCWSTR, _In_ PCWSTR,
_Outptr_ LPITEMIDLIST*, _Outptr_ PIDLIST_ABSOLUTE*,
_Inout_opt_ DWORD*); _Inout_opt_ DWORD*);
HRESULT WINAPI SHLoadOLE(LPARAM); HRESULT WINAPI SHLoadOLE(LPARAM);
@ -222,9 +222,9 @@ HRESULT WINAPI SHLoadOLE(LPARAM);
HRESULT HRESULT
WINAPI WINAPI
SHParseDisplayName( SHParseDisplayName(
_In_ LPCWSTR, _In_ PCWSTR,
_In_opt_ IBindCtx*, _In_opt_ IBindCtx*,
_Outptr_ LPITEMIDLIST*, _Outptr_ PIDLIST_ABSOLUTE*,
_In_ SFGAOF, _In_ SFGAOF,
_Out_opt_ SFGAOF*); _Out_opt_ SFGAOF*);
@ -252,13 +252,13 @@ SHReplaceFromPropSheetExtArray(
_In_ LPFNADDPROPSHEETPAGE, _In_ LPFNADDPROPSHEETPAGE,
LPARAM); LPARAM);
LPITEMIDLIST WINAPI SHSimpleIDListFromPath(LPCWSTR); PIDLIST_ABSOLUTE WINAPI SHSimpleIDListFromPath(PCWSTR);
int int
WINAPI WINAPI
SHMapPIDLToSystemImageListIndex( SHMapPIDLToSystemImageListIndex(
_In_ IShellFolder*, _In_ IShellFolder*,
_In_ LPCITEMIDLIST, _In_ PCUITEMID_CHILD,
_Out_opt_ int*); _Out_opt_ int*);
HRESULT WINAPI SHStartNetConnectionDialog(HWND,LPCSTR,DWORD); HRESULT WINAPI SHStartNetConnectionDialog(HWND,LPCSTR,DWORD);
@ -1105,7 +1105,7 @@ typedef INT (CALLBACK *BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM);
typedef struct tagBROWSEINFOA { typedef struct tagBROWSEINFOA {
HWND hwndOwner; HWND hwndOwner;
LPCITEMIDLIST pidlRoot; PCIDLIST_ABSOLUTE pidlRoot;
LPSTR pszDisplayName; LPSTR pszDisplayName;
LPCSTR lpszTitle; LPCSTR lpszTitle;
UINT ulFlags; UINT ulFlags;
@ -1116,7 +1116,7 @@ typedef struct tagBROWSEINFOA {
typedef struct tagBROWSEINFOW { typedef struct tagBROWSEINFOW {
HWND hwndOwner; HWND hwndOwner;
LPCITEMIDLIST pidlRoot; PCIDLIST_ABSOLUTE pidlRoot;
LPWSTR pszDisplayName; LPWSTR pszDisplayName;
LPCWSTR lpszTitle; LPCWSTR lpszTitle;
UINT ulFlags; UINT ulFlags;
@ -1166,8 +1166,8 @@ typedef struct tagBROWSEINFOW {
#define BFFM_SETOKTEXT (WM_USER+105) #define BFFM_SETOKTEXT (WM_USER+105)
#define BFFM_SETEXPANDED (WM_USER+106) #define BFFM_SETEXPANDED (WM_USER+106)
LPITEMIDLIST WINAPI SHBrowseForFolderA(_In_ LPBROWSEINFOA lpbi); PIDLIST_ABSOLUTE WINAPI SHBrowseForFolderA(_In_ LPBROWSEINFOA lpbi);
LPITEMIDLIST WINAPI SHBrowseForFolderW(_In_ LPBROWSEINFOW lpbi); PIDLIST_ABSOLUTE WINAPI SHBrowseForFolderW(_In_ LPBROWSEINFOW lpbi);
#define SHBrowseForFolder WINELIB_NAME_AW(SHBrowseForFolder) #define SHBrowseForFolder WINELIB_NAME_AW(SHBrowseForFolder)
#define BFFM_SETSTATUSTEXT WINELIB_NAME_AW(BFFM_SETSTATUSTEXT) #define BFFM_SETSTATUSTEXT WINELIB_NAME_AW(BFFM_SETSTATUSTEXT)
@ -1194,7 +1194,7 @@ typedef struct _CSFV
UINT cbSize; UINT cbSize;
IShellFolder* pshf; IShellFolder* pshf;
IShellView* psvOuter; IShellView* psvOuter;
LPCITEMIDLIST pidl; PCIDLIST_ABSOLUTE pidl;
LONG lEvents; LONG lEvents;
LPFNVIEWCALLBACK pfnCallback; LPFNVIEWCALLBACK pfnCallback;
FOLDERVIEWMODE fvm; FOLDERVIEWMODE fvm;
@ -1403,7 +1403,7 @@ HRESULT
WINAPI WINAPI
SHGetDataFromIDListA( SHGetDataFromIDListA(
_In_ LPSHELLFOLDER psf, _In_ LPSHELLFOLDER psf,
_In_ LPCITEMIDLIST pidl, _In_ PCUITEMID_CHILD pidl,
int nFormat, int nFormat,
_Out_writes_bytes_(cb) LPVOID pv, _Out_writes_bytes_(cb) LPVOID pv,
int cb); int cb);
@ -1412,14 +1412,14 @@ HRESULT
WINAPI WINAPI
SHGetDataFromIDListW( SHGetDataFromIDListW(
_In_ LPSHELLFOLDER psf, _In_ LPSHELLFOLDER psf,
_In_ LPCITEMIDLIST pidl, _In_ PCUITEMID_CHILD pidl,
int nFormat, int nFormat,
_Out_writes_bytes_(cb) LPVOID pv, _Out_writes_bytes_(cb) LPVOID pv,
int cb); int cb);
#define SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList) #define SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList)
LPITEMIDLIST PIDLIST_ABSOLUTE
WINAPI WINAPI
SHCloneSpecialIDList( SHCloneSpecialIDList(
_Reserved_ HWND hwnd, _Reserved_ HWND hwnd,
@ -1713,7 +1713,7 @@ DWORD WINAPI SHRestricted(RESTRICTIONS rest);
*/ */
typedef struct _SHChangeNotifyEntry typedef struct _SHChangeNotifyEntry
{ {
LPCITEMIDLIST pidl; PCIDLIST_ABSOLUTE pidl;
BOOL fRecursive; BOOL fRecursive;
} SHChangeNotifyEntry; } SHChangeNotifyEntry;
@ -1919,7 +1919,7 @@ WINAPI
SHChangeNotification_Lock( SHChangeNotification_Lock(
_In_ HANDLE hChangeNotification, _In_ HANDLE hChangeNotification,
DWORD dwProcessId, DWORD dwProcessId,
_Outptr_opt_result_buffer_(2)_Outptr_opt_result_buffer_(2) LPITEMIDLIST **pppidl, _Outptr_opt_result_buffer_(2)_Outptr_opt_result_buffer_(2) PIDLIST_ABSOLUTE **pppidl,
_Out_opt_ LONG *plEvent); _Out_opt_ LONG *plEvent);
BOOL WINAPI SHChangeNotification_Unlock(_In_ HANDLE hLock); BOOL WINAPI SHChangeNotification_Unlock(_In_ HANDLE hLock);
@ -1928,8 +1928,8 @@ HRESULT
WINAPI WINAPI
SHGetRealIDL( SHGetRealIDL(
_In_ IShellFolder *psf, _In_ IShellFolder *psf,
_In_ LPCITEMIDLIST pidlSimple, _In_ PCUITEMID_CHILD pidlSimple,
_Outptr_ LPITEMIDLIST * ppidlReal); _Outptr_ PITEMID_CHILD * ppidlReal);
/**************************************************************************** /****************************************************************************
* SHCreateDirectory API * SHCreateDirectory API
@ -1961,7 +1961,7 @@ WINAPI
SHGetSpecialFolderLocation( SHGetSpecialFolderLocation(
_Reserved_ HWND hwndOwner, _Reserved_ HWND hwndOwner,
_In_ int nFolder, _In_ int nFolder,
_Outptr_ LPITEMIDLIST *ppidl); _Outptr_ PIDLIST_ABSOLUTE *ppidl);
HRESULT HRESULT
WINAPI WINAPI
@ -1970,7 +1970,7 @@ SHGetFolderLocation(
_In_ int nFolder, _In_ int nFolder,
_In_opt_ HANDLE hToken, _In_opt_ HANDLE hToken,
_In_ DWORD dwReserved, _In_ DWORD dwReserved,
_Outptr_ LPITEMIDLIST *ppidl); _Outptr_ PIDLIST_ABSOLUTE *ppidl);
/**************************************************************************** /****************************************************************************
* SHGetFolderPath API * SHGetFolderPath API
@ -2077,10 +2077,10 @@ _Check_return_ HRESULT WINAPI SHGetDesktopFolder(_Outptr_ IShellFolder * *);
HRESULT HRESULT
WINAPI WINAPI
SHBindToParent( SHBindToParent(
_In_ LPCITEMIDLIST pidl, _In_ PCIDLIST_ABSOLUTE pidl,
_In_ REFIID riid, _In_ REFIID riid,
_Outptr_ LPVOID *ppv, _Outptr_ LPVOID *ppv,
_Outptr_opt_ LPCITEMIDLIST *ppidlLast); _Outptr_opt_ PCUITEMID_CHILD *ppidlLast);
/**************************************************************************** /****************************************************************************
* SHDefExtractIcon API * SHDefExtractIcon API
@ -2289,25 +2289,25 @@ SHDoDragDrop(
#define PID_IS_COMMENT 13 #define PID_IS_COMMENT 13
LPITEMIDLIST WINAPI ILAppendID(_In_opt_ LPITEMIDLIST, _In_ LPCSHITEMID, BOOL); PIDLIST_RELATIVE WINAPI ILAppendID(_In_opt_ PIDLIST_RELATIVE, _In_ LPCSHITEMID, BOOL);
LPITEMIDLIST WINAPI ILClone(_In_ LPCITEMIDLIST); PIDLIST_RELATIVE WINAPI ILClone(_In_ PCUIDLIST_RELATIVE);
LPITEMIDLIST WINAPI ILCloneFirst(_In_ LPCITEMIDLIST); PITEMID_CHILD WINAPI ILCloneFirst(_In_ PCUIDLIST_RELATIVE);
LPITEMIDLIST WINAPI ILCreateFromPathA(_In_ LPCSTR); PIDLIST_ABSOLUTE WINAPI ILCreateFromPathA(_In_ PCSTR);
LPITEMIDLIST WINAPI ILCreateFromPathW(_In_ LPCWSTR); PIDLIST_ABSOLUTE WINAPI ILCreateFromPathW(_In_ PCWSTR);
#define ILCreateFromPath WINELIB_NAME_AW(ILCreateFromPath) #define ILCreateFromPath WINELIB_NAME_AW(ILCreateFromPath)
LPITEMIDLIST WINAPI ILCombine(_In_opt_ LPCITEMIDLIST, _In_opt_ LPCITEMIDLIST); PIDLIST_ABSOLUTE WINAPI ILCombine(_In_opt_ PCIDLIST_ABSOLUTE, _In_opt_ PCUIDLIST_RELATIVE);
LPITEMIDLIST WINAPI ILFindChild(_In_ LPCITEMIDLIST, _In_ LPCITEMIDLIST); PUIDLIST_RELATIVE WINAPI ILFindChild(_In_ PIDLIST_ABSOLUTE, _In_ PCIDLIST_ABSOLUTE);
LPITEMIDLIST WINAPI ILFindLastID(_In_ LPCITEMIDLIST); PUITEMID_CHILD WINAPI ILFindLastID(_In_ PCUIDLIST_RELATIVE);
void WINAPI ILFree(_In_opt_ LPITEMIDLIST); void WINAPI ILFree(_In_opt_ PIDLIST_RELATIVE);
LPITEMIDLIST WINAPI ILGetNext(_In_opt_ LPCITEMIDLIST); PUIDLIST_RELATIVE WINAPI ILGetNext(_In_opt_ PCUIDLIST_RELATIVE);
UINT WINAPI ILGetSize(_In_opt_ LPCITEMIDLIST); UINT WINAPI ILGetSize(_In_opt_ PCUIDLIST_RELATIVE);
BOOL WINAPI ILIsEqual(_In_ LPCITEMIDLIST, _In_ LPCITEMIDLIST); BOOL WINAPI ILIsEqual(_In_ PCIDLIST_ABSOLUTE, _In_ PCIDLIST_ABSOLUTE);
BOOL WINAPI ILIsParent(_In_ LPCITEMIDLIST, _In_ LPCITEMIDLIST, BOOL); BOOL WINAPI ILIsParent(_In_ PCIDLIST_ABSOLUTE, _In_ PCIDLIST_ABSOLUTE, BOOL);
HRESULT WINAPI ILLoadFromStream(_In_ LPSTREAM, _Inout_ LPITEMIDLIST*); HRESULT WINAPI ILLoadFromStream(_In_ LPSTREAM, _Inout_ PIDLIST_RELATIVE*);
BOOL WINAPI ILRemoveLastID(_Inout_opt_ LPITEMIDLIST); BOOL WINAPI ILRemoveLastID(_Inout_opt_ PUIDLIST_RELATIVE);
HRESULT WINAPI ILSaveToStream(_In_ LPSTREAM, _In_ LPCITEMIDLIST); HRESULT WINAPI ILSaveToStream(_In_ LPSTREAM, _In_ PCUIDLIST_RELATIVE);
static inline BOOL ILIsEmpty(_In_opt_ LPCITEMIDLIST pidl) static inline BOOL ILIsEmpty(_In_opt_ PCUIDLIST_RELATIVE pidl)
{ {
return !(pidl && pidl->mkid.cb); return !(pidl && pidl->mkid.cb);
} }

View file

@ -102,7 +102,7 @@ interface IEnumIDList : IUnknown
HRESULT Next( HRESULT Next(
[in] ULONG celt, [in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)] LPITEMIDLIST *rgelt, [out, size_is(celt), length_is(*pceltFetched)] PITEMID_CHILD *rgelt,
[out] ULONG *pceltFetched); [out] ULONG *pceltFetched);
HRESULT Skip( [in] ULONG celt ); HRESULT Skip( [in] ULONG celt );
@ -764,7 +764,7 @@ interface IShellView : IOleWindow
HRESULT SaveViewState(); HRESULT SaveViewState();
HRESULT SelectItem( HRESULT SelectItem(
[in] LPCITEMIDLIST pidlItem, [in] PCUITEMID_CHILD pidlItem,
[in] SVSIF uFlags); [in] SVSIF uFlags);
HRESULT GetItemObject( HRESULT GetItemObject(
[in] UINT uItem, [in] UINT uItem,
@ -801,10 +801,10 @@ cpp_quote("#include <poppack.h>")
[in] LPSV2CVW2_PARAMS view_params [in] LPSV2CVW2_PARAMS view_params
); );
HRESULT HandleRename( HRESULT HandleRename(
[in] LPCITEMIDLIST new_pidl [in] PCUITEMID_CHILD new_pidl
); );
HRESULT SelectAndPositionItem( HRESULT SelectAndPositionItem(
[in] LPCITEMIDLIST item, [in] PCUITEMID_CHILD item,
[in] UINT flags, [in] UINT flags,
[in] POINT *point [in] POINT *point
); );
@ -1079,7 +1079,7 @@ cpp_quote("#endif")
HRESULT TranslateAcceleratorSB( [in] MSG *pmsg, [in] WORD wID ); HRESULT TranslateAcceleratorSB( [in] MSG *pmsg, [in] WORD wID );
HRESULT BrowseObject( HRESULT BrowseObject(
[in] LPCITEMIDLIST pidl, [in] PCUIDLIST_RELATIVE pidl,
[in] UINT wFlags); [in] UINT wFlags);
HRESULT GetViewStateStream( HRESULT GetViewStateStream(
@ -1307,7 +1307,7 @@ interface IPersistFolder3 : IPersistFolder2
{ {
typedef struct typedef struct
{ {
LPITEMIDLIST pidlTargetFolder; PIDLIST_ABSOLUTE pidlTargetFolder;
WCHAR szTargetParsingName[MAX_PATH]; WCHAR szTargetParsingName[MAX_PATH];
WCHAR szNetworkProvider[MAX_PATH]; WCHAR szNetworkProvider[MAX_PATH];
DWORD dwAttributes; DWORD dwAttributes;
@ -1316,7 +1316,7 @@ interface IPersistFolder3 : IPersistFolder2
HRESULT InitializeEx( HRESULT InitializeEx(
[in] IBindCtx *pbc, [in] IBindCtx *pbc,
[in] LPCITEMIDLIST pidlRoot, [in] PCIDLIST_ABSOLUTE pidlRoot,
[in] const PERSIST_FOLDER_TARGET_INFO *ppfti); [in] const PERSIST_FOLDER_TARGET_INFO *ppfti);
HRESULT GetFolderTargetInfo( [out] PERSIST_FOLDER_TARGET_INFO *ppfti ); HRESULT GetFolderTargetInfo( [out] PERSIST_FOLDER_TARGET_INFO *ppfti );
@ -1416,7 +1416,7 @@ cpp_quote("#define CDBOSC_STATECHANGE 0x00000004")
HRESULT OnDefaultCommand( [in] IShellView *shv ); HRESULT OnDefaultCommand( [in] IShellView *shv );
HRESULT OnStateChange( [in] IShellView *shv, [in] ULONG uChange ); HRESULT OnStateChange( [in] IShellView *shv, [in] ULONG uChange );
HRESULT IncludeObject( [in] IShellView *shv, [in] LPCITEMIDLIST pidl ); HRESULT IncludeObject( [in] IShellView *shv, [in] PCUITEMID_CHILD pidl );
} }
@ -1988,8 +1988,8 @@ interface IShellChangeNotify : IUnknown
{ {
HRESULT OnChange( HRESULT OnChange(
[in] LONG lEvent, [in] LONG lEvent,
[in] LPCITEMIDLIST pidl1, [in] PCIDLIST_ABSOLUTE pidl1,
[in] LPCITEMIDLIST pidl2); [in] PCIDLIST_ABSOLUTE pidl2);
} }
cpp_quote("#define STR_FILE_SYS_BIND_DATA L\"File System Bind Data\"") cpp_quote("#define STR_FILE_SYS_BIND_DATA L\"File System Bind Data\"")
@ -2625,8 +2625,8 @@ typedef struct tagSMDATA
UINT uIdParent; UINT uIdParent;
UINT uIdAncestor; UINT uIdAncestor;
IUnknown *punk; IUnknown *punk;
LPITEMIDLIST pidlFolder; PIDLIST_ABSOLUTE pidlFolder;
LPITEMIDLIST pidlItem; PUITEMID_CHILD pidlItem;
IShellFolder *psf; IShellFolder *psf;
void *pvUserData; void *pvUserData;
} SMDATA, *LPSMDATA; } SMDATA, *LPSMDATA;
@ -2646,8 +2646,8 @@ typedef struct tagSMINFO
typedef struct tagSHCSCHANGENOTIFYSTRUCT typedef struct tagSHCSCHANGENOTIFYSTRUCT
{ {
LONG lEvent; LONG lEvent;
LPCITEMIDLIST pidl1; PCIDLIST_ABSOLUTE pidl1;
LPCITEMIDLIST pidl2; PCIDLIST_ABSOLUTE pidl2;
} SMCSHCHANGENOTIFYSTRUCT, *PSMCSHCHANGENOTIFYSTRUCT; } SMCSHCHANGENOTIFYSTRUCT, *PSMCSHCHANGENOTIFYSTRUCT;
cpp_quote("#include <poppack.h>") cpp_quote("#include <poppack.h>")
@ -2762,13 +2762,13 @@ interface IShellMenu : IUnknown
HRESULT SetShellFolder( HRESULT SetShellFolder(
[in] IShellFolder *psf, [in] IShellFolder *psf,
[in] LPCITEMIDLIST pidlFolder, [in] PCIDLIST_ABSOLUTE pidlFolder,
[in] HKEY hKey, [in] HKEY hKey,
[in] DWORD dwFlags); [in] DWORD dwFlags);
HRESULT GetShellFolder( HRESULT GetShellFolder(
[out] DWORD *pdwFlags, [out] DWORD *pdwFlags,
[out] LPITEMIDLIST *ppidl, [out] PIDLIST_ABSOLUTE *ppidl,
[in] REFIID riid, [in] REFIID riid,
[out] void **ppv); [out] void **ppv);