ReactOS  0.4.15-dev-4914-g2220e56
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  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

◆ 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 }
static void pdump_impl(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:248

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

◆ 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().