/* print_HANDLEENTRY() Print a HANDLEENTRY struct. if 'entry' is NULL this function returns without having printed anything. */ void print_HANDLEENTRY( const HANDLEENTRY *const entry // in ) { const char *const objname = "HANDLEENTRY struct"; if( !entry ) return; PRINT_SEP_BEGIN( objname ); PRINT_HEX( entry->pHead ); PRINT_HEX( entry->pOwner ); printf( "entry->bType: %u ( ", (unsigned)entry->bType ); print_HANDLEENTRY_type( entry->bType ); printf( ")\n" ); printf( "entry->bFlags: 0x%02X", (unsigned)entry->bFlags ); if( entry->bFlags ) { printf( " ( " ); print_HANDLEENTRY_flags( entry->bFlags ); printf( ")" ); } printf( "\n" ); printf( "entry->wUniq: %u\n", (unsigned)entry->wUniq ); PRINT_SEP_END( objname ); return; }
/* print_HOOK() Print a HOOK struct. if 'object' is NULL this function returns without having printed anything. */ void print_HOOK( const HOOK *const object // in ) { const char *const objname = "HOOK struct"; if( !object ) return; PRINT_SEP_BEGIN( objname ); PRINT_HEX( object->head.h ); printf( "object->head.cLockObj: %lu\n", object->head.cLockObj ); PRINT_HEX( object->pti ); PRINT_HEX( object->rpdesk1 ); PRINT_HEX( object->pSelf ); PRINT_HEX( object->phkNext ); printf( "object->iHook: %d ( ", object->iHook ); print_HOOK_id( object->iHook ); printf( ")\n" ); printf( "object->offPfn: 0x%08lX\n", object->offPfn ); printf( "object->flags: 0x%08lX", object->flags ); if( object->flags ) { printf( " ( " ); print_HOOK_flags( object->flags ); printf( ")" ); } printf( "\n" ); printf( "object->ihmod: %d\n", object->ihmod ); PRINT_HEX( object->ptiHooked ); PRINT_HEX( object->rpdesk2 ); PRINT_SEP_END( objname ); return; }
/* print_SharedInfo() Print some pointers from the SHAREDINFO struct. if 'pSharedInfo' is NULL this function returns without having printed anything. */ void print_SharedInfo( const SHAREDINFO *const pSharedInfo // in ) { const char *const objname = "SHAREDINFO struct"; if( !pSharedInfo ) return; PRINT_SEP_BEGIN( objname ); PRINT_HEX( pSharedInfo->psi ); PRINT_HEX( pSharedInfo->aheList ); PRINT_HEX( pSharedInfo->pDisplayInfo ); PRINT_HEX( pSharedInfo->ulSharedDelta ); PRINT_SEP_END( objname ); return; }
/* print_list_item() Print an item from a list store's linked list. if 'item' is NULL this function returns without having printed anything. */ void print_list_item( const struct list_item *const item // in ) { const char *const objname = "Generic List Item"; if( !item ) return; PRINT_SEP_BEGIN( objname ); printf( "item->name: %ls\n", item->name ); //printf( "item->id: %I64d (0x%I64X)\n", item->id, item->id ); printf( "item->id (signed): %I64d\n", item->id ); printf( "item->id (unsigned): %I64u\n", item->id ); printf( "item->id (hex): 0x%I64X\n", item->id ); PRINT_SEP_END( objname ); return; }