Add a unicode pidl type.
Improve support for PT_YAGUID. Improve IShellLink debugging.
This commit is contained in:
parent
66add27b21
commit
0e5b772cdc
|
@ -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 )
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue