📄 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__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -