ReactOS  0.4.15-dev-5126-g3bb451b
debughlp.cpp File Reference
#include "precomp.h"
Include dependency graph for debughlp.cpp:

Go to the source code of this file.

Macros

#define max_line   0x10
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (pidl)
 
static LPITEMIDLIST _dbg_ILGetNext (LPCITEMIDLIST pidl)
 
static BOOL _dbg_ILIsDesktop (LPCITEMIDLIST pidl)
 
static LPPIDLDATA _dbg_ILGetDataPointer (LPCITEMIDLIST pidl)
 
static LPSTR _dbg_ILGetTextPointer (LPCITEMIDLIST pidl)
 
static LPWSTR _dbg_ILGetTextPointerW (LPCITEMIDLIST pidl)
 
static LPSTR _dbg_ILGetSTextPointer (LPCITEMIDLIST pidl)
 
static LPWSTR _dbg_ILGetSTextPointerW (LPCITEMIDLIST pidl)
 
static IID_dbg_ILGetGUIDPointer (LPCITEMIDLIST pidl)
 
static void _dbg_ILSimpleGetText (LPCITEMIDLIST pidl, LPSTR szOut, UINT uOutSize)
 
static void pdump_impl (LPCITEMIDLIST pidl)
 
void pdump (LPCITEMIDLIST pidl)
 
void pdump_always (LPCITEMIDLIST pidl)
 
static void dump_pidl_hex (LPCITEMIDLIST pidl)
 
BOOL pcheck (LPCITEMIDLIST pidl)
 
const charshdebugstr_guid (const struct _GUID *id)
 

Variables

struct {
   REFIID   riid
 
   const char *   name
 
InterfaceDesc []
 

Macro Definition Documentation

◆ max_line

#define max_line   0x10

Function Documentation

◆ _dbg_ILGetDataPointer()

static LPPIDLDATA _dbg_ILGetDataPointer ( LPCITEMIDLIST  pidl)
static

Definition at line 48 of file debughlp.cpp.

49 {
50  if(pidl && pidl->mkid.cb != 0x00)
51  return (LPPIDLDATA) &(pidl->mkid.abID);
52  return NULL;
53 }
#define NULL
Definition: types.h:112

Referenced by _dbg_ILGetSTextPointer(), _dbg_ILGetSTextPointerW(), _dbg_ILGetTextPointer(), _dbg_ILGetTextPointerW(), pcheck(), and pdump_impl().

◆ _dbg_ILGetGUIDPointer()

static IID* _dbg_ILGetGUIDPointer ( LPCITEMIDLIST  pidl)
static

Definition at line 189 of file debughlp.cpp.

190 {
192 
193  if (pdata)
194  {
195  switch (pdata->type)
196  {
197  case PT_SHELLEXT:
198  case PT_GUID:
199  case PT_YAGUID:
200  return &(pdata->u.guid.guid);
201  }
202  }
203  return NULL;
204 }
LPPIDLDATA _ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: pidl.c:2187
static PROTOCOLDATA * pdata
Definition: protocol.c:158
#define PT_YAGUID
#define NULL
Definition: types.h:112
#define PT_GUID
#define PT_SHELLEXT

Referenced by _dbg_ILSimpleGetText().

◆ _dbg_ILGetNext()

static LPITEMIDLIST _dbg_ILGetNext ( LPCITEMIDLIST  pidl)
static

Definition at line 26 of file debughlp.cpp.

27 {
28  WORD len;
29 
30  if(pidl)
31  {
32  len = pidl->mkid.cb;
33  if (len)
34  {
35  return (LPITEMIDLIST) (((LPBYTE)pidl)+len);
36  }
37  }
38  return NULL;
39 }
unsigned char * LPBYTE
Definition: typedefs.h:53
unsigned short WORD
Definition: ntddk_ex.h:93
GLenum GLsizei len
Definition: glext.h:6722
#define NULL
Definition: types.h:112
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41

Referenced by pcheck(), and pdump_impl().

◆ _dbg_ILGetSTextPointer()

static LPSTR _dbg_ILGetSTextPointer ( LPCITEMIDLIST  pidl)
static

Definition at line 139 of file debughlp.cpp.

140 {
142 
143  if (pdata)
144  {
145  switch (pdata->type)
146  {
147  case PT_FOLDER:
148  case PT_VALUE:
149  case PT_IESPECIAL1:
150  case PT_IESPECIAL2:
151  return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1);
152 
153  case PT_WORKGRP:
154  return (LPSTR)(pdata->u.network.szNames + strlen (pdata->u.network.szNames) + 1);
155  }
156  }
157  return NULL;
158 }
static LPPIDLDATA _dbg_ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:48
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
#define PT_WORKGRP
Definition: pidl.h:98
#define PT_IESPECIAL2
Definition: pidl.h:104
char * LPSTR
Definition: xmlstorage.h:182
static PROTOCOLDATA * pdata
Definition: protocol.c:158
#define PT_IESPECIAL1
Definition: pidl.h:102
#define NULL
Definition: types.h:112
#define PT_VALUE
Definition: pidl.h:95
#define PT_FOLDER
Definition: pidl.h:94

Referenced by pdump_impl().

◆ _dbg_ILGetSTextPointerW()

static LPWSTR _dbg_ILGetSTextPointerW ( LPCITEMIDLIST  pidl)
static

Definition at line 161 of file debughlp.cpp.

162 {
164 
165  if (pdata)
166  {
167  switch (pdata->type)
168  {
169  case PT_FOLDER:
170  case PT_VALUE:
171  case PT_IESPECIAL1:
172  case PT_IESPECIAL2:
173  /*return (LPSTR)(pdata->u.file.szNames + strlen (pdata->u.file.szNames) + 1); */
174  return NULL;
175 
176  case PT_WORKGRP:
177  /* return (LPSTR)(pdata->u.network.szNames + strlen (pdata->u.network.szNames) + 1); */
178  return NULL;
179 
180  case PT_VALUEW:
181  return (LPWSTR)(pdata->u.file.szNames + wcslen ((LPWSTR)pdata->u.file.szNames) + 1);
182  }
183  }
184  return NULL;
185 }
static LPPIDLDATA _dbg_ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:48
#define PT_WORKGRP
Definition: pidl.h:98
#define PT_IESPECIAL2
Definition: pidl.h:104
static PROTOCOLDATA * pdata
Definition: protocol.c:158
#define PT_IESPECIAL1
Definition: pidl.h:102
#define NULL
Definition: types.h:112
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define PT_VALUE
Definition: pidl.h:95
#define PT_FOLDER
Definition: pidl.h:94
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define PT_VALUEW
Definition: pidl.h:96

Referenced by pdump_impl().

◆ _dbg_ILGetTextPointer()

static LPSTR _dbg_ILGetTextPointer ( LPCITEMIDLIST  pidl)
static

Definition at line 56 of file debughlp.cpp.

57 {
59 
60  if (pdata)
61  {
62  switch (pdata->type)
63  {
64  case PT_GUID:
65  case PT_SHELLEXT:
66  case PT_YAGUID:
67  return NULL;
68 
69  case PT_DRIVE:
70  case PT_DRIVE1:
71  case PT_DRIVE2:
72  case PT_DRIVE3:
73  return (LPSTR)&(pdata->u.drive.szDriveName);
74 
75  case PT_FOLDER:
76  case PT_FOLDER1:
77  case PT_VALUE:
78  case PT_IESPECIAL1:
79  case PT_IESPECIAL2:
80  return (LPSTR)&(pdata->u.file.szNames);
81 
82  case PT_WORKGRP:
83  case PT_COMP:
84  case PT_NETWORK:
85  case PT_NETPROVIDER:
86  case PT_SHARE:
87  return (LPSTR)&(pdata->u.network.szNames);
88  }
89  }
90  return NULL;
91 }
static LPPIDLDATA _dbg_ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:48
#define PT_DRIVE3
Definition: pidl.h:90
#define PT_WORKGRP
Definition: pidl.h:98
#define PT_IESPECIAL2
Definition: pidl.h:104
char * LPSTR
Definition: xmlstorage.h:182
#define PT_NETWORK
Definition: pidl.h:101
#define PT_DRIVE2
Definition: pidl.h:89
static PROTOCOLDATA * pdata
Definition: protocol.c:158
#define PT_DRIVE
Definition: pidl.h:88
#define PT_YAGUID
#define PT_FOLDER1
Definition: pidl.h:93
#define PT_IESPECIAL1
Definition: pidl.h:102
#define PT_COMP
Definition: pidl.h:99
#define PT_DRIVE1
Definition: pidl.h:92
#define NULL
Definition: types.h:112
#define PT_VALUE
Definition: pidl.h:95
#define PT_NETPROVIDER
Definition: pidl.h:100
#define PT_FOLDER
Definition: pidl.h:94
#define PT_SHARE
Definition: pidl.h:105
#define PT_GUID
#define PT_SHELLEXT

Referenced by _dbg_ILSimpleGetText(), and pdump_impl().

◆ _dbg_ILGetTextPointerW()

static LPWSTR _dbg_ILGetTextPointerW ( LPCITEMIDLIST  pidl)
static

Definition at line 94 of file debughlp.cpp.

95 {
97 
98  if (pdata)
99  {
100  switch (pdata->type)
101  {
102  case PT_GUID:
103  case PT_SHELLEXT:
104  case PT_YAGUID:
105  return NULL;
106 
107  case PT_DRIVE:
108  case PT_DRIVE1:
109  case PT_DRIVE2:
110  case PT_DRIVE3:
111  /* return (LPSTR)&(pdata->u.drive.szDriveName);*/
112  return NULL;
113 
114  case PT_FOLDER:
115  case PT_FOLDER1:
116  case PT_VALUE:
117  case PT_IESPECIAL1:
118  case PT_IESPECIAL2:
119  /* return (LPSTR)&(pdata->u.file.szNames); */
120  return NULL;
121 
122  case PT_WORKGRP:
123  case PT_COMP:
124  case PT_NETWORK:
125  case PT_NETPROVIDER:
126  case PT_SHARE:
127  /* return (LPSTR)&(pdata->u.network.szNames); */
128  return NULL;
129 
130  case PT_VALUEW:
131  return (LPWSTR)&(pdata->u.file.szNames);
132  }
133  }
134  return NULL;
135 }
static LPPIDLDATA _dbg_ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:48
#define PT_DRIVE3
Definition: pidl.h:90
#define PT_WORKGRP
Definition: pidl.h:98
#define PT_IESPECIAL2
Definition: pidl.h:104
#define PT_NETWORK
Definition: pidl.h:101
#define PT_DRIVE2
Definition: pidl.h:89
static PROTOCOLDATA * pdata
Definition: protocol.c:158
#define PT_DRIVE
Definition: pidl.h:88
#define PT_YAGUID
#define PT_FOLDER1
Definition: pidl.h:93
#define PT_IESPECIAL1
Definition: pidl.h:102
#define PT_COMP
Definition: pidl.h:99
#define PT_DRIVE1
Definition: pidl.h:92
#define NULL
Definition: types.h:112
#define PT_VALUE
Definition: pidl.h:95
#define PT_NETPROVIDER
Definition: pidl.h:100
#define PT_FOLDER
Definition: pidl.h:94
#define PT_SHARE
Definition: pidl.h:105
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define PT_GUID
#define PT_VALUEW
Definition: pidl.h:96
#define PT_SHELLEXT

Referenced by _dbg_ILSimpleGetText(), and pdump_impl().

◆ _dbg_ILIsDesktop()

static BOOL _dbg_ILIsDesktop ( LPCITEMIDLIST  pidl)
static

Definition at line 42 of file debughlp.cpp.

43 {
44  return ( !pidl || (pidl && pidl->mkid.cb == 0x00) );
45 }

Referenced by _dbg_ILSimpleGetText().

◆ _dbg_ILSimpleGetText()

static void _dbg_ILSimpleGetText ( LPCITEMIDLIST  pidl,
LPSTR  szOut,
UINT  uOutSize 
)
static

Definition at line 207 of file debughlp.cpp.

208 {
209  LPSTR szSrc;
210  LPWSTR szSrcW;
211  GUID const * riid;
212 
213  if (!pidl) return;
214 
215  if (szOut)
216  *szOut = 0;
217 
218  if (_dbg_ILIsDesktop(pidl))
219  {
220  /* desktop */
221  if (szOut) lstrcpynA(szOut, "Desktop", uOutSize);
222  }
223  else if (( szSrc = _dbg_ILGetTextPointer(pidl) ))
224  {
225  /* filesystem */
226  if (szOut) lstrcpynA(szOut, szSrc, uOutSize);
227  }
228  else if (( szSrcW = _dbg_ILGetTextPointerW(pidl) ))
229  {
230  CHAR tmp[MAX_PATH];
231  /* unicode filesystem */
232  WideCharToMultiByte(CP_ACP,0,szSrcW, -1, tmp, MAX_PATH, NULL, NULL);
233  if (szOut) lstrcpynA(szOut, tmp, uOutSize);
234  }
235  else if (( riid = _dbg_ILGetGUIDPointer(pidl) ))
236  {
237  if (szOut)
238  sprintf( szOut, "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
239  riid->Data1, riid->Data2, riid->Data3,
240  riid->Data4[0], riid->Data4[1], riid->Data4[2], riid->Data4[3],
241  riid->Data4[4], riid->Data4[5], riid->Data4[6], riid->Data4[7] );
242  }
243 }
static BOOL _dbg_ILIsDesktop(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:42
#define WideCharToMultiByte
Definition: compat.h:111
REFIID riid
Definition: precomp.h:44
#define CP_ACP
Definition: compat.h:109
char CHAR
Definition: xmlstorage.h:175
char * LPSTR
Definition: xmlstorage.h:182
static LPWSTR _dbg_ILGetTextPointerW(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:94
#define sprintf(buf, format,...)
Definition: sprintf.c:55
static IID * _dbg_ILGetGUIDPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:189
#define MAX_PATH
Definition: compat.h:34
static LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:56
#define NULL
Definition: types.h:112
REFIID riid
Definition: debughlp.cpp:400
#define lstrcpynA
Definition: compat.h:610
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by pdump_impl().

◆ dump_pidl_hex()

static void dump_pidl_hex ( LPCITEMIDLIST  pidl)
static

Definition at line 325 of file debughlp.cpp.

326 {
327  const unsigned char *p = (const unsigned char *)pidl;
328  const int max_bytes = 0x80;
329 #define max_line 0x10
330  char szHex[max_line*3+1], szAscii[max_line+1];
331  int i, n;
332 
333  n = pidl->mkid.cb;
334  if( n>max_bytes )
335  n = max_bytes;
336  for( i=0; i<n; i++ )
337  {
338  sprintf( &szHex[ (i%max_line)*3 ], "%02X ", p[i] );
339  szAscii[ (i%max_line) ] = isprint( p[i] ) ? p[i] : '.';
340 
341  /* print out at the end of each line and when we're finished */
342  if( i!=(n-1) && (i%max_line) != (max_line-1) )
343  continue;
344  szAscii[ (i%max_line)+1 ] = 0;
345  ERR("%-*s %s\n", max_line*3, szHex, szAscii );
346  }
347 }
GLdouble n
Definition: glext.h:7729
#define sprintf(buf, format,...)
Definition: sprintf.c:55
#define max_line
#define ERR(fmt,...)
Definition: debug.h:110
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define isprint(c)
Definition: acclib.h:73
GLfloat GLfloat p
Definition: glext.h:8902

Referenced by pcheck().

◆ pcheck()

BOOL pcheck ( LPCITEMIDLIST  pidl)

Definition at line 349 of file debughlp.cpp.

350 {
351  DWORD type;
352  LPCITEMIDLIST pidltemp = pidl;
353 
354  while( pidltemp && pidltemp->mkid.cb )
355  {
356  LPPIDLDATA pidlData = _dbg_ILGetDataPointer(pidltemp);
357 
358  if (pidlData)
359  {
360  type = pidlData->type;
361  switch( type )
362  {
363  case PT_CPLAPPLET:
364  case PT_GUID:
365  case PT_SHELLEXT:
366  case PT_DRIVE:
367  case PT_DRIVE1:
368  case PT_DRIVE2:
369  case PT_DRIVE3:
370  case PT_FOLDER:
371  case PT_VALUE:
372  case PT_VALUEW:
373  case PT_FOLDER1:
374  case PT_WORKGRP:
375  case PT_COMP:
376  case PT_NETPROVIDER:
377  case PT_NETWORK:
378  case PT_IESPECIAL1:
379  case PT_YAGUID:
380  case PT_IESPECIAL2:
381  case PT_SHARE:
382  break;
383  default:
384  ERR("unknown IDLIST %p [%p] size=%u type=%x\n",
385  pidl, pidltemp, pidltemp->mkid.cb,type );
386  dump_pidl_hex( pidltemp );
387  return FALSE;
388  }
389  pidltemp = _dbg_ILGetNext(pidltemp);
390  }
391  else
392  {
393  return FALSE;
394  }
395  }
396  return TRUE;
397 }
static LPPIDLDATA _dbg_ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:48
#define PT_DRIVE3
Definition: pidl.h:90
#define TRUE
Definition: types.h:120
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
#define PT_WORKGRP
Definition: pidl.h:98
#define PT_IESPECIAL2
Definition: pidl.h:104
#define PT_NETWORK
Definition: pidl.h:101
#define FALSE
Definition: types.h:117
#define PT_DRIVE2
Definition: pidl.h:89
#define PT_DRIVE
Definition: pidl.h:88
#define PT_YAGUID
unsigned long DWORD
Definition: ntddk_ex.h:95
static LPITEMIDLIST _dbg_ILGetNext(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:26
#define PT_FOLDER1
Definition: pidl.h:93
#define PT_IESPECIAL1
Definition: pidl.h:102
#define ERR(fmt,...)
Definition: debug.h:110
#define PT_COMP
Definition: pidl.h:99
#define PT_DRIVE1
Definition: pidl.h:92
#define PT_VALUE
Definition: pidl.h:95
#define PT_NETPROVIDER
Definition: pidl.h:100
#define PT_FOLDER
Definition: pidl.h:94
#define PT_SHARE
Definition: pidl.h:105
#define PT_CPLAPPLET
Definition: pidl.h:86
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define PT_GUID
#define PT_VALUEW
Definition: pidl.h:96
#define PT_SHELLEXT
static void dump_pidl_hex(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:325

Referenced by _ILCreateCPanelApplet(), ILFindChild(), ILIsEqual(), ILLoadFromStream(), and pdump_impl().

◆ pdump()

◆ pdump_always()

void pdump_always ( LPCITEMIDLIST  pidl)

Definition at line 319 of file debughlp.cpp.

320 {
321  pdump_impl(pidl);
322 }
static void pdump_impl(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:248

Referenced by CFSFolder::_CreateShellExtInstance(), BuildPathsList(), and CFSFolder::SetNameOf().

◆ pdump_impl()

static void pdump_impl ( LPCITEMIDLIST  pidl)
static

Definition at line 248 of file debughlp.cpp.

249 {
250  LPCITEMIDLIST pidltemp = pidl;
251 
252 
253  if (! pidltemp)
254  {
255  MESSAGE ("-------- pidl=NULL (Desktop)\n");
256  }
257  else
258  {
259  MESSAGE ("-------- pidl=%p\n", pidl);
260  if (pidltemp->mkid.cb)
261  {
262  do
263  {
264  if (_ILIsUnicode(pidltemp))
265  {
266  DWORD dwAttrib = 0;
268  DWORD type = pData ? pData->type : 0;
269  LPWSTR szLongName = _dbg_ILGetTextPointerW(pidltemp);
270  LPWSTR szShortName = _dbg_ILGetSTextPointerW(pidltemp);
271  char szName[MAX_PATH];
272 
274  if ( pData && (PT_FOLDER == type || PT_VALUE == type) )
275  dwAttrib = pData->u.file.uFileAttribs;
276 
277  MESSAGE ("[%p] size=%04u type=%x attr=0x%08x name=%s (%s,%s)\n",
278  pidltemp, pidltemp->mkid.cb, type, dwAttrib,
279  debugstr_a(szName), debugstr_w(szLongName), debugstr_w(szShortName));
280  }
281  else
282  {
283  DWORD dwAttrib = 0;
285  DWORD type = pData ? pData->type : 0;
286  LPSTR szLongName = _dbg_ILGetTextPointer(pidltemp);
287  LPSTR szShortName = _dbg_ILGetSTextPointer(pidltemp);
288  char szName[MAX_PATH];
289 
291  if ( pData && (PT_FOLDER == type || PT_VALUE == type) )
292  dwAttrib = pData->u.file.uFileAttribs;
293 
294  MESSAGE ("[%p] size=%04u type=%x attr=0x%08x name=%s (%s,%s)\n",
295  pidltemp, pidltemp->mkid.cb, type, dwAttrib,
296  debugstr_a(szName), debugstr_a(szLongName), debugstr_a(szShortName));
297  }
298 
299  pidltemp = _dbg_ILGetNext(pidltemp);
300 
301  } while (pidltemp && pidltemp->mkid.cb);
302  }
303  else
304  {
305  MESSAGE ("empty pidl (Desktop)\n");
306  }
307  pcheck(pidl);
308  }
309 }
static LPPIDLDATA _dbg_ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:48
static const WCHAR szName[]
Definition: powrprof.c:45
#define MESSAGE
Definition: options.h:86
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
char * LPSTR
Definition: xmlstorage.h:182
static LPWSTR _dbg_ILGetTextPointerW(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:94
#define debugstr_w
Definition: kernel32.h:32
BOOL _ILIsUnicode(LPCITEMIDLIST pidl)
Definition: pidl.c:1882
static void _dbg_ILSimpleGetText(LPCITEMIDLIST pidl, LPSTR szOut, UINT uOutSize)
Definition: debughlp.cpp:207
#define debugstr_a
Definition: kernel32.h:31
#define MAX_PATH
Definition: compat.h:34
unsigned long DWORD
Definition: ntddk_ex.h:95
static LPITEMIDLIST _dbg_ILGetNext(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:26
static LPSTR _dbg_ILGetTextPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:56
BOOL pcheck(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:349
static LPSTR _dbg_ILGetSTextPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:139
#define PT_VALUE
Definition: pidl.h:95
static LPWSTR _dbg_ILGetSTextPointerW(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:161
#define PT_FOLDER
Definition: pidl.h:94
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
WCHAR * LPWSTR
Definition: xmlstorage.h:184
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827

Referenced by pdump(), and pdump_always().

◆ shdebugstr_guid()

const char* shdebugstr_guid ( const struct _GUID id)

Definition at line 427 of file debughlp.cpp.

428 {
429  unsigned int i;
430  const char* name = NULL;
431  char clsidbuf[100];
432 
433  if (!id) return "(null)";
434 
435  for (i=0; i < sizeof(InterfaceDesc) / sizeof(InterfaceDesc[0]); i++) {
437  }
438  if (!name) {
439  if (HCR_GetClassNameA(*id, clsidbuf, 100))
440  name = clsidbuf;
441  }
442 
443  return wine_dbg_sprintf( "\n\t{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x} (%s)",
444  id->Data1, id->Data2, id->Data3,
445  id->Data4[0], id->Data4[1], id->Data4[2], id->Data4[3],
446  id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7], name ? name : "unknown" );
447 }
REFIID riid
Definition: precomp.h:44
const char * wine_dbg_sprintf(const char *format,...)
Definition: compat.c:296
BOOL HCR_GetClassNameA(REFIID riid, LPSTR szDest, DWORD len)
Definition: classes.c:417
static const struct @536 InterfaceDesc[]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define NULL
Definition: types.h:112
Definition: name.c:38
GLenum GLuint id
Definition: glext.h:5579
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

Referenced by CShellItem::BindToHandler(), CFSFolder::BindToObject(), CDrivesFolder::BindToObject(), CNetFolder::BindToStorage(), CFSFolder::BindToStorage(), CControlPanelFolder::BindToStorage(), CDrivesFolder::BindToStorage(), CPrinterFolder::BindToStorage(), CDesktopFolder::BindToStorage(), IDefClFImpl::CreateInstance(), CNetFolder::CreateViewObject(), CFSFolder::CreateViewObject(), CDrivesFolder::CreateViewObject(), CPrinterFolder::CreateViewObject(), CControlPanelFolder::CreateViewObject(), CDesktopFolder::CreateViewObject(), DllGetClassObject(), CNetFolder::GetUIObjectOf(), CFSFolder::GetUIObjectOf(), CDrivesFolder::GetUIObjectOf(), CControlPanelFolder::GetUIObjectOf(), CPrinterFolder::GetUIObjectOf(), CDesktopFolder::GetUIObjectOf(), IDefClF_fnConstructor(), IDefClF_fnCreateInstance(), IDefClF_fnQueryInterface(), IDefClFImpl::Initialize(), SHCoCreateInstance(), and SHCreateDefClassObject().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( pidl  )

Variable Documentation

◆ InterfaceDesc

const { ... } InterfaceDesc[]
Initial value:
= {
{IID_IUnknown, "IID_IUnknown"},
{IID_IClassFactory, "IID_IClassFactory"},
{IID_IShellView, "IID_IShellView"},
{IID_IOleCommandTarget, "IID_IOleCommandTarget"},
{IID_IDropTarget, "IID_IDropTarget"},
{IID_IDropSource, "IID_IDropSource"},
{IID_IViewObject, "IID_IViewObject"},
{IID_IContextMenu, "IID_IContextMenu"},
{IID_IShellExtInit, "IID_IShellExtInit"},
{IID_IShellFolder, "IID_IShellFolder"},
{IID_IShellFolder2, "IID_IShellFolder2"},
{IID_IPersist, "IID_IPersist"},
{IID_IPersistFolder, "IID_IPersistFolder"},
{IID_IPersistFolder2, "IID_IPersistFolder2"},
{IID_IPersistFolder3, "IID_IPersistFolder3"},
{IID_IExtractIconA, "IID_IExtractIconA"},
{IID_IExtractIconW, "IID_IExtractIconW"},
{IID_IDataObject, "IID_IDataObject"},
{IID_IAutoComplete, "IID_IAutoComplete"},
{IID_IAutoComplete2, "IID_IAutoComplete2"},
{IID_IShellLinkA, "IID_IShellLinkA"},
{IID_IShellLinkW, "IID_IShellLinkW"},
}
const GUID IID_IViewObject
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IDataObject
const GUID IID_IUnknown
const GUID IID_IClassFactory

Referenced by shdebugstr_guid().

◆ name

Definition at line 401 of file debughlp.cpp.

◆ riid

Definition at line 400 of file debughlp.cpp.

Referenced by _dbg_ILSimpleGetText().