Add a unicode pidl type.

Improve support for PT_YAGUID.
Improve IShellLink debugging.
This commit is contained in:
Huw Davies 2005-04-13 14:39:27 +00:00 committed by Alexandre Julliard
parent 66add27b21
commit 0e5b772cdc
4 changed files with 15 additions and 3 deletions

View File

@ -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 )

View File

@ -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:

View File

@ -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"

View File

@ -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;
}