?? driver.h
字號(hào):
/************************************************************************
* 文件名稱:Driver.h
* 作 者:張帆
* 完成日期:2007-11-1
*************************************************************************/
#pragma once
#ifdef __cplusplus
extern "C"
{
#endif
#include <NTDDK.h>
#ifdef __cplusplus
}
#endif
#define PAGEDCODE code_seg("PAGE")
#define LOCKEDCODE code_seg()
#define INITCODE code_seg("INIT")
#define PAGEDDATA data_seg("PAGE")
#define LOCKEDDATA data_seg()
#define INITDATA data_seg("INIT")
#define arraysize(p) (sizeof(p)/sizeof((p)[0]))
typedef struct _DEVICE_EXTENSION {
PDEVICE_OBJECT fdo;
PDEVICE_OBJECT NextStackDevice;
UNICODE_STRING ustrDeviceName; //設(shè)備名稱
UNICODE_STRING ustrSymLinkName; //符號(hào)鏈接名
KDPC pollingDPC; // 存儲(chǔ)DPC對(duì)象
KTIMER pollingTimer;// 存儲(chǔ)計(jì)時(shí)器對(duì)象
PIRP currentPendingIRP;//記錄當(dāng)前掛起的IRP
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;
// 函數(shù)聲明
VOID HelloWDMUnload (IN PDRIVER_OBJECT pDriverObject);
NTSTATUS HelloWDMAddDevice(IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT PhysicalDeviceObject);
NTSTATUS HelloWDMDispatchAny(IN PDEVICE_OBJECT fido, IN PIRP Irp);
NTSTATUS HelloWDMPower(IN PDEVICE_OBJECT fdo,
IN PIRP Irp);
NTSTATUS HandleQueryPower( IN PDEVICE_EXTENSION pdx, IN PIRP Irp);
NTSTATUS HandleSetPower( IN PDEVICE_EXTENSION pdx, IN PIRP Irp);
NTSTATUS HandleWaitWake( IN PDEVICE_EXTENSION pdx, IN PIRP Irp);
NTSTATUS HandlePowerSeq( IN PDEVICE_EXTENSION pdx, IN PIRP Irp);
NTSTATUS DefaultPnpHandler(PDEVICE_EXTENSION pdx, PIRP Irp);
NTSTATUS HelloWDMPnp(IN PDEVICE_OBJECT fdo,
IN PIRP Irp);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -