Add a unicode pidl type.

Improve support for PT_YAGUID.
Improve IShellLink debugging.
oldstable
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_SHELLEXT:
case PT_GUID: case PT_GUID:
case PT_YAGUID:
return &(pdata->u.guid.guid); return &(pdata->u.guid.guid);
} }
} }
@ -267,6 +268,7 @@ BOOL pcheck( LPCITEMIDLIST pidl )
case PT_DRIVE3: case PT_DRIVE3:
case PT_FOLDER: case PT_FOLDER:
case PT_VALUE: case PT_VALUE:
case PT_VALUEW:
case PT_FOLDER1: case PT_FOLDER1:
case PT_WORKGRP: case PT_WORKGRP:
case PT_COMP: case PT_COMP:
@ -316,6 +318,8 @@ static struct {
{&IID_IDataObject, "IID_IDataObject"}, {&IID_IDataObject, "IID_IDataObject"},
{&IID_IAutoComplete, "IID_IAutoComplete"}, {&IID_IAutoComplete, "IID_IAutoComplete"},
{&IID_IAutoComplete2, "IID_IAutoComplete2"}, {&IID_IAutoComplete2, "IID_IAutoComplete2"},
{&IID_IShellLinkA, "IID_IShellLinkA"},
{&IID_IShellLinkW, "IID_IShellLinkW"},
{NULL,NULL}}; {NULL,NULL}};
const char * shdebugstr_guid( const struct _GUID *id ) const char * shdebugstr_guid( const struct _GUID *id )

View File

@ -1825,7 +1825,7 @@ BOOL _ILIsSpecialFolder (LPCITEMIDLIST pidl)
TRACE("(%p)\n",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) (pidl && pidl->mkid.cb == 0x00)
)); ));
} }
@ -2081,6 +2081,7 @@ IID* _ILGetGUIDPointer(LPCITEMIDLIST pidl)
{ {
case PT_SHELLEXT: case PT_SHELLEXT:
case PT_GUID: case PT_GUID:
case PT_YAGUID:
return &(pdata->u.guid.guid); return &(pdata->u.guid.guid);
default: default:

View File

@ -97,6 +97,7 @@
#define PT_FOLDER1 0x30 #define PT_FOLDER1 0x30
#define PT_FOLDER 0x31 #define PT_FOLDER 0x31
#define PT_VALUE 0x32 #define PT_VALUE 0x32
#define PT_VALUEW 0x34
#define PT_WORKGRP 0x41 #define PT_WORKGRP 0x41
#define PT_COMP 0x42 #define PT_COMP 0x42
#define PT_NETPROVIDER 0x46 #define PT_NETPROVIDER 0x46
@ -142,6 +143,11 @@ typedef struct tagFileStruct
The second the dos name when needed or just 0x00 */ The second the dos name when needed or just 0x00 */
} FileStruct; } FileStruct;
typedef struct tagValueW
{
WCHAR name[1];
} ValueWStruct;
typedef struct tagPIDLDATA typedef struct tagPIDLDATA
{ PIDLTYPE type; /*00*/ { PIDLTYPE type; /*00*/
union union
@ -159,6 +165,7 @@ typedef struct tagPIDLDATA
CHAR szName[1]; /*06*/ /* terminated by 0x00 0x00 */ CHAR szName[1]; /*06*/ /* terminated by 0x00 0x00 */
} htmlhelp; } htmlhelp;
struct tagPIDLCPanelStruct cpanel; struct tagPIDLCPanelStruct cpanel;
struct tagValueW valueW;
}u; }u;
} PIDLDATA, *LPPIDLDATA; } PIDLDATA, *LPPIDLDATA;
#include "poppack.h" #include "poppack.h"

View File

@ -250,7 +250,7 @@ static HRESULT WINAPI IPersistFile_fnLoad(IPersistFile* iface, LPCOLESTR pszFile
HRESULT r; HRESULT r;
IStream *stm; 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); r = CreateStreamOnFile(pszFileName, dwMode, &stm);
if( SUCCEEDED( r ) ) if( SUCCEEDED( r ) )
@ -260,7 +260,7 @@ static HRESULT WINAPI IPersistFile_fnLoad(IPersistFile* iface, LPCOLESTR pszFile
IStream_Release( stm ); IStream_Release( stm );
This->bDirty = FALSE; This->bDirty = FALSE;
} }
TRACE("-- returning hr %08lx\n", r);
return r; return r;
} }