diff --git a/dlls/shell32/debughlp.c b/dlls/shell32/debughlp.c index f490dcc5b1f..6857cdcbb6d 100644 --- a/dlls/shell32/debughlp.c +++ b/dlls/shell32/debughlp.c @@ -136,6 +136,7 @@ IID* _dbg_ILGetGUIDPointer(LPCITEMIDLIST pidl) { case PT_SHELLEXT: case PT_GUID: + case PT_YAGUID: return &(pdata->u.guid.guid); } } @@ -267,6 +268,7 @@ BOOL pcheck( LPCITEMIDLIST pidl ) case PT_DRIVE3: case PT_FOLDER: case PT_VALUE: + case PT_VALUEW: case PT_FOLDER1: case PT_WORKGRP: case PT_COMP: @@ -316,6 +318,8 @@ static struct { {&IID_IDataObject, "IID_IDataObject"}, {&IID_IAutoComplete, "IID_IAutoComplete"}, {&IID_IAutoComplete2, "IID_IAutoComplete2"}, + {&IID_IShellLinkA, "IID_IShellLinkA"}, + {&IID_IShellLinkW, "IID_IShellLinkW"}, {NULL,NULL}}; const char * shdebugstr_guid( const struct _GUID *id ) diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c index e2fbdd7d2b7..265c3641f3d 100644 --- a/dlls/shell32/pidl.c +++ b/dlls/shell32/pidl.c @@ -1825,7 +1825,7 @@ BOOL _ILIsSpecialFolder (LPCITEMIDLIST pidl) TRACE("(%p)\n",pidl); - return (pidl && ( (lpPData && (PT_GUID== lpPData->type || PT_SHELLEXT== lpPData->type)) || + return (pidl && ( (lpPData && (PT_GUID== lpPData->type || PT_SHELLEXT== lpPData->type || PT_YAGUID == lpPData->type)) || (pidl && pidl->mkid.cb == 0x00) )); } @@ -2081,6 +2081,7 @@ IID* _ILGetGUIDPointer(LPCITEMIDLIST pidl) { case PT_SHELLEXT: case PT_GUID: + case PT_YAGUID: return &(pdata->u.guid.guid); default: diff --git a/dlls/shell32/pidl.h b/dlls/shell32/pidl.h index 1bf1828beba..9f5ef5a1d31 100644 --- a/dlls/shell32/pidl.h +++ b/dlls/shell32/pidl.h @@ -97,6 +97,7 @@ #define PT_FOLDER1 0x30 #define PT_FOLDER 0x31 #define PT_VALUE 0x32 +#define PT_VALUEW 0x34 #define PT_WORKGRP 0x41 #define PT_COMP 0x42 #define PT_NETPROVIDER 0x46 @@ -142,6 +143,11 @@ typedef struct tagFileStruct The second the dos name when needed or just 0x00 */ } FileStruct; +typedef struct tagValueW +{ + WCHAR name[1]; +} ValueWStruct; + typedef struct tagPIDLDATA { PIDLTYPE type; /*00*/ union @@ -159,6 +165,7 @@ typedef struct tagPIDLDATA CHAR szName[1]; /*06*/ /* terminated by 0x00 0x00 */ } htmlhelp; struct tagPIDLCPanelStruct cpanel; + struct tagValueW valueW; }u; } PIDLDATA, *LPPIDLDATA; #include "poppack.h" diff --git a/dlls/shell32/shelllink.c b/dlls/shell32/shelllink.c index 388f3bb482c..12e2054b7d5 100644 --- a/dlls/shell32/shelllink.c +++ b/dlls/shell32/shelllink.c @@ -250,7 +250,7 @@ static HRESULT WINAPI IPersistFile_fnLoad(IPersistFile* iface, LPCOLESTR pszFile HRESULT r; IStream *stm; - TRACE("(%p, %s)\n",This, debugstr_w(pszFileName)); + TRACE("(%p, %s, %lx)\n",This, debugstr_w(pszFileName), dwMode); r = CreateStreamOnFile(pszFileName, dwMode, &stm); if( SUCCEEDED( r ) ) @@ -260,7 +260,7 @@ static HRESULT WINAPI IPersistFile_fnLoad(IPersistFile* iface, LPCOLESTR pszFile IStream_Release( stm ); This->bDirty = FALSE; } - + TRACE("-- returning hr %08lx\n", r); return r; }