www.pudn.com > dvKrnlData.rar > dvKrnlData.h


// dvKrnlData.h 
// 
// Generated by C DriverWizard 3.2.0 (Build 2485) 
// Requires DDK Only 
// File created on 9/12/2006 
// 
#ifndef __DVKRNLDATA_H__ 
#define __DVKRNLDATA_H__ 
 
// Memory allocation pool tag 
#define DVKRNLDATA_POOL_TAG 'rKvd' 
 
// Make all pool allocations tagged 
#undef ExAllocatePool 
#define ExAllocatePool(type, size) \ 
    ExAllocatePoolWithTag(type, size, DVKRNLDATA_POOL_TAG); 
 
// global (per driver) data block 
typedef struct _DVKRNLDATA_DATA 
{ 
    UNICODE_STRING      RegistryPath; 
} DVKRNLDATA_DATA, *PDVKRNLDATA_DATA; 
 
extern DVKRNLDATA_DATA g_Data; 
 
// The device extension for the device object 
typedef struct _DVKRNLDATA_DEVICE_EXTENSION 
{ 
    PDEVICE_OBJECT          DeviceObject; 
    LONG                    OpenHandleCount; 
} DVKRNLDATA_DEVICE_EXTENSION, *PDVKRNLDATA_DEVICE_EXTENSION; 
 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
// prototype for DriverEntry function 
NTSTATUS __stdcall DriverEntry( 
    IN  PDRIVER_OBJECT  DriverObject, 
    IN  PUNICODE_STRING RegistryPath 
    ); 
 
VOID __stdcall dvKrnlDataUnload( 
    IN  PDRIVER_OBJECT  DriverObject 
    ); 
 
NTSTATUS __stdcall dvKrnlDataDeviceIoControlDispatch( 
    IN  PDEVICE_OBJECT  DeviceObject, 
    IN  PIRP            Irp 
    ); 
 
NTSTATUS __stdcall dvKrnlDataCreateDispatch( 
    IN  PDEVICE_OBJECT  DeviceObject, 
    IN  PIRP            Irp 
    ); 
 
NTSTATUS __stdcall dvKrnlDataCloseDispatch( 
    IN  PDEVICE_OBJECT  DeviceObject, 
    IN  PIRP            Irp 
    ); 
 
NTSTATUS __stdcall dvKrnlDataReadDispatch( 
    IN  PDEVICE_OBJECT  DeviceObject, 
    IN  PIRP            Irp 
    ); 
 
NTSTATUS __stdcall dvKrnlDataWriteDispatch( 
    IN  PDEVICE_OBJECT  DeviceObject, 
    IN  PIRP            Irp 
    ); 
 
NTSTATUS __stdcall dvKrnlDataShutdownDispatch( 
    IN  PDEVICE_OBJECT  DeviceObject, 
    IN  PIRP            Irp 
    ); 
 
NTSTATUS __stdcall dvKrnlDataReadMem( 
    IN  PDVKRNLDATA_DEVICE_EXTENSION pDeviceCtx, 
    IN  PVOID   pInput, 
    IN  DWORD   dwInput, 
    OUT PVOID   pOutput, 
    IN  DWORD   dwOutput, 
    OUT PDWORD  pdwOutLen 
    ); 
 
NTSTATUS __stdcall dvKrnlDataGetIDT( 
    IN  PDVKRNLDATA_DEVICE_EXTENSION pDeviceCtx, 
    OUT PVOID   pOutput, 
    IN  DWORD   dwOutput, 
    OUT PDWORD  pdwOutLen 
    ); 
 
NTSTATUS __stdcall dvKrnlDataGetSST( 
    IN  PDVKRNLDATA_DEVICE_EXTENSION pDeviceCtx, 
    OUT PVOID   pOutput, 
    IN  DWORD   dwOutput, 
    OUT PDWORD  pdwOutLen 
    ); 
 
NTSTATUS __stdcall dvKrnlDataGetPhysical( 
    IN  PDVKRNLDATA_DEVICE_EXTENSION pDeviceCtx, 
    IN  PVOID   pInput, 
    IN  DWORD   dwInput, 
    OUT PVOID   pOutput, 
    IN  DWORD   dwOutput, 
    OUT PDWORD  pdwOutLen 
    ); 
 
NTSTATUS __stdcall dvKrnlDataHideProc( 
    IN  PDVKRNLDATA_DEVICE_EXTENSION pDeviceCtx, 
    IN  PVOID   pInput, 
    IN  DWORD   dwInput 
    ); 
 
#ifdef __cplusplus 
} 
#endif 
 
/////////////////////////////////////////////////////////////////////////////////////////////////// 
// Debug 
/////////////////////////////////////////////////////////////////////////////////////////////////// 
 
// definition of debug levels 
 
#define DBG_NONE            0 
#define DBG_ERR             1 
#define DBG_WARN            2 
#define DBG_TRACE           3 
#define DBG_INFO            4 
#define DBG_VERB            5 
 
// definition of debug areas 
 
#define DBG_GENERAL         (1 << 0) 
#define DBG_PNP             (1 << 1) 
#define DBG_POWER           (1 << 2) 
#define DBG_COUNT           (1 << 3) 
#define DBG_CREATECLOSE     (1 << 4) 
#define DBG_WMI             (1 << 5) 
#define DBG_UNLOAD          (1 << 6) 
#define DBG_IO              (1 << 7) 
#define DBG_INIT            (1 << 8) 
 
#define DBG_ALL             0xFFFFFFFF 
 
#if DBG 
 
VOID dvKrnlDataDebugPrint( 
    IN ULONG    Area, 
    IN ULONG    Level, 
    IN PCCHAR   Format, 
    IN          ... 
    ); 
 
VOID dvKrnlDataDumpIrp( 
    IN PIRP Irp 
    ); 
 
PCHAR IrpMajorFunctionString( 
    IN  UCHAR MajorFunction 
    ); 
 
PCHAR PnPMinorFunctionString( 
    IN  UCHAR   MinorFunction 
    ); 
 
PCHAR PowerMinorFunctionString( 
    IN  UCHAR   MinorFunction 
    ); 
 
PCHAR SystemPowerStateString( 
    IN  SYSTEM_POWER_STATE  SystemState 
    ); 
 
PCHAR DevicePowerStateString( 
    IN  DEVICE_POWER_STATE  DeviceState 
    ); 
 
PCHAR WMIMinorFunctionString ( 
    IN  UCHAR MinorFunction 
    ); 
 
#else	// !DBG 
 
__inline VOID dvKrnlDataDebugPrint( 
    IN ULONG    Area, 
    IN ULONG    Level, 
    IN PCCHAR   Format, 
    IN          ... 
    ) 
{ 
} 
 
#define dvKrnlDataDumpIrp(Irp) 
#define IrpMajorFunctionString(MajorFunction) 
#define PnPMinorFunctionString(MinorFunction) 
#define PowerMinorFunctionString(MinorFunction) 
#define SystemPowerStateString(SystemState) 0 
#define DevicePowerStateString(DeviceState) 0 
#define WMIMinorFunctionString(MinorFunction) 
#define dvKrnlDataTdiDumpAddress(Address) 
 
#endif	// DBG 
 
#endif  // __DVKRNLDATA_H__