/*++ Copyright (c) 1992-2000 Microsoft Corporation Module Name: kdextsfn.h Abstract: This has definitions for info exported by kdexts.dll. Environment: User Mode. Revision History: Kshitiz K. Sharma (kksharma) 2/14/2001 --*/ #ifndef _KDEXTSFN_H #define _KDEXTSFN_H // // device.c // typedef struct _DEBUG_DEVICE_OBJECT_INFO { ULONG SizeOfStruct; // must be == sizeof(DEBUG_DEVICE_OBJECT_INFO) ULONG64 DevObjAddress; ULONG ReferenceCount; BOOL QBusy; ULONG64 DriverObject; ULONG64 CurrentIrp; ULONG64 DevExtension; ULONG64 DevObjExtension; } DEBUG_DEVICE_OBJECT_INFO, *PDEBUG_DEVICE_OBJECT_INFO; // GetDevObjInfo typedef HRESULT (WINAPI *PGET_DEVICE_OBJECT_INFO)( IN PDEBUG_CLIENT Client, IN ULONG64 DeviceObject, OUT PDEBUG_DEVICE_OBJECT_INFO pDevObjInfo); // // driver.c // typedef struct _DEBUG_DRIVER_OBJECT_INFO { ULONG SizeOfStruct; // must be == sizef(DEBUG_DRIVER_OBJECT_INFO) ULONG DriverSize; ULONG64 DriverObjAddress; ULONG64 DriverStart; ULONG64 DriverExtension; ULONG64 DeviceObject; UNICODE_STRING64 DriverName; } DEBUG_DRIVER_OBJECT_INFO, *PDEBUG_DRIVER_OBJECT_INFO; // GetDrvObjInfo typedef HRESULT (WINAPI *PGET_DRIVER_OBJECT_INFO)( IN PDEBUG_CLIENT Client, IN ULONG64 DriverObject, OUT PDEBUG_DRIVER_OBJECT_INFO pDrvObjInfo); // // irp.c // typedef struct _DEBUG_IRP_STACK_INFO { UCHAR Major; UCHAR Minor; ULONG64 DeviceObject; ULONG64 FileObject; ULONG64 CompletionRoutine; ULONG64 StackAddress; } DEBUG_IRP_STACK_INFO, *PDEBUG_IRP_STACK_INFO; typedef struct _DEBUG_IRP_INFO { ULONG SizeOfStruct; // Must be == sizeof(DEBUG_IRP_INFO) ULONG64 IrpAddress; ULONG StackCount; ULONG CurrentLocation; ULONG64 MdlAddress; ULONG64 Thread; ULONG64 CancelRoutine; DEBUG_IRP_STACK_INFO CurrentStack; } DEBUG_IRP_INFO, *PDEBUG_IRP_INFO; // GetIrpInfo typedef HRESULT (WINAPI * PGET_IRP_INFO)( IN PDEBUG_CLIENT Client, IN ULONG64 Irp, OUT PDEBUG_IRP_INFO IrpInfo ); // // pool.c // typedef struct _DEBUG_POOL_DATA { ULONG SizeofStruct; ULONG64 PoolBlock; ULONG64 Pool; ULONG PreviousSize; ULONG Size; ULONG PoolTag; ULONG64 ProcessBilled; ULONG Free:1; ULONG LargePool:1; ULONG SpecialPool:1; ULONG Pageable:1; ULONG Protected:1; ULONG Allocated:1; ULONG Reserved:26; ULONG64 Reserved2[4]; CHAR PoolTagDescription[64]; } DEBUG_POOL_DATA, *PDEBUG_POOL_DATA; // GetPoolData typedef HRESULT (WINAPI *PGET_POOL_DATA)( PDEBUG_CLIENT Client, ULONG64 Pool, PDEBUG_POOL_DATA PoolData ); typedef enum _DEBUG_POOL_REGION { DbgPoolRegionUnknown, DbgPoolRegionSpecial, DbgPoolRegionPaged, DbgPoolRegionNonPaged, DbgPoolRegionCode, DbgPoolRegionNonPagedExpansion, DbgPoolRegionMax, } DEBUG_POOL_REGION; // GetPoolRegion typedef HRESULT (WINAPI *PGET_POOL_REGION)( PDEBUG_CLIENT Client, ULONG64 Pool, DEBUG_POOL_REGION *PoolRegion ); #endif // _KDEXTSFN_H