准备工作:
VS2013
WDK8.1
DbgView
InstDrv
VS2013+WDK8.1是绝配,意思是这两个版本结合最方便,安装后无需任何改动直接写代码,自动生成模板,省去了设置一些参数繁琐的工作。
安装完成后新建一个驱动项目:

写入测试代码:
- #include <ntddk.h>
-
- VOID DDK_UnLoad(PDRIVER_OBJECT DriverObject);
-
- NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistrPath)
- {
- NTSTATUS status = STATUS_SUCCESS;
- KdPrint(("Hello Driver,Hello BiaoGe!\n"));
- DriverObject->DriverUnload = DDK_UnLoad;
- return status;
- }
-
- VOID DDK_UnLoad(PDRIVER_OBJECT DriverObject)
- {
- KdPrint(("BiaoGe Driver Unload ---\n"));
- }
复制代码
想让这代码直接编译通过的话,应该降低警告等级至Level3,因为有些参数需要声明,但并未使用。

好,可以生成驱动文件了。
使用DbgView查看驱动输出
为了方便,只捕获我们需要的消息,如下设置:
勾选其捕获内核 Capture -> Capture Kernel
勾选其开启内核输出 Capture -> Enable Verbose Kernel Output
勾选其捕获事件 Capture -> Capture Events
借助InstDrv工具加载驱动
将编译好的驱动文件拖拽至InstDrv
安装驱动
此时应开着DbgView准备捕获,然后启动驱动,返回DbgView查看输出消息
启动成功,消息输出成功
停止驱动,返回DbgView查看输出消息
停止成功,消息输出成功
卸载驱动,卸载成功

我们模拟了从驱动安装到驱动卸载的全过程,都是成功的。
|