ReactOS 0.4.15-dev-8092-ge0ba2f3
debughlp.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void pdump (LPCITEMIDLIST pidl)
 
void pdump_always (LPCITEMIDLIST pidl)
 
BOOL pcheck (LPCITEMIDLIST pidl)
 
const charshdebugstr_guid (const struct _GUID *id)
 

Function Documentation

◆ 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 case 0x99: /* Network Connection pidl type */
383 break;
384 default:
385 ERR("unknown IDLIST %p [%p] size=%u type=%x\n",
386 pidl, pidltemp, pidltemp->mkid.cb,type );
387 dump_pidl_hex( pidltemp );
388 return FALSE;
389 }
390 pidltemp = _dbg_ILGetNext(pidltemp);
391 }
392 else
393 {
394 return FALSE;
395 }
396 }
397 return TRUE;
398}
#define ERR(fmt,...)
Definition: debug.h:113
static LPPIDLDATA _dbg_ILGetDataPointer(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:48
static LPITEMIDLIST _dbg_ILGetNext(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:26
static void dump_pidl_hex(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:325
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define PT_GUID
#define PT_YAGUID
#define PT_SHELLEXT
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define PT_DRIVE1
Definition: pidl.h:92
#define PT_WORKGRP
Definition: pidl.h:98
#define PT_FOLDER
Definition: pidl.h:94
#define PT_FOLDER1
Definition: pidl.h:93
#define PT_DRIVE3
Definition: pidl.h:90
#define PT_VALUE
Definition: pidl.h:95
#define PT_VALUEW
Definition: pidl.h:96
#define PT_DRIVE
Definition: pidl.h:88
#define PT_IESPECIAL1
Definition: pidl.h:102
#define PT_DRIVE2
Definition: pidl.h:89
#define PT_SHARE
Definition: pidl.h:105
#define PT_COMP
Definition: pidl.h:99
#define PT_NETPROVIDER
Definition: pidl.h:100
#define PT_NETWORK
Definition: pidl.h:101
#define PT_CPLAPPLET
Definition: pidl.h:86
#define PT_IESPECIAL2
Definition: pidl.h:104
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42

◆ pdump()

void pdump ( LPCITEMIDLIST  pidl)

Definition at line 311 of file debughlp.cpp.

312{
313 if (!TRACE_ON(pidl)) return;
314
315 return pdump_impl(pidl);
316}
static void pdump_impl(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:248
#define TRACE_ON(x)
Definition: compat.h:75

◆ pdump_always()

void pdump_always ( LPCITEMIDLIST  pidl)

Definition at line 319 of file debughlp.cpp.

320{
321 pdump_impl(pidl);
322}

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

◆ shdebugstr_guid()

const char * shdebugstr_guid ( const struct _GUID id)

Definition at line 428 of file debughlp.cpp.

429{
430 unsigned int i;
431 const char* name = NULL;
432 char clsidbuf[100];
433
434 if (!id) return "(null)";
435
436 for (i=0; i < sizeof(InterfaceDesc) / sizeof(InterfaceDesc[0]); i++) {
438 }
439 if (!name) {
440 if (HCR_GetClassNameA(*id, clsidbuf, 100))
441 name = clsidbuf;
442 }
443
444 return wine_dbg_sprintf( "\n\t{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x} (%s)",
445 id->Data1, id->Data2, id->Data3,
446 id->Data4[0], id->Data4[1], id->Data4[2], id->Data4[3],
447 id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7], name ? name : "unknown" );
448}
static const struct @555 InterfaceDesc[]
#define NULL
Definition: types.h:112
const char * wine_dbg_sprintf(const char *format,...)
Definition: compat.c:296
GLuint id
Definition: glext.h:5910
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
REFIID riid
Definition: atlbase.h:39
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
BOOL HCR_GetClassNameA(REFIID riid, LPSTR szDest, DWORD len)
Definition: classes.c:474
Definition: name.c:39

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