先安装VS2017,然后在安装WDK,WDK会自动关联到VS2017中,不用你任何操作,自动在新建项目中可以找到驱动开发。
如果以上安装完成后,在VS2017中新建项目中没有发现WDK,那么需要进行修复。
修复的方法:进入WDK安装后的文件夹中,找到Vsix这个文件夹,双击运行WDK.vsix,程序会自动修复,完成,再次打开VS2017,搞定。
测试代码
#include <ntifs.h> //提供一个卸载函数,让程序能卸载,如果没有这个函数,驱动将不能卸载。
VOID UnDriver(PDRIVER_OBJECT driver)
{
KdPrint(("卸载驱动成功"));
}
//入口函数,相当于main。
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
KdPrint(("Hello World!"));
driver->DriverUnload = UnDriver;
return STATUS_SUCCESS;
}
修改项目属性
Win7x64位系统测试,禁止强制签名。
修改注册表解决 Win7 DbgView 不显示调试信息
默认情况下Win7下的DbgView会不显示调试信息,如 OutputDebugString
,KdPrint
等函数的输出。这需要在注册表中单独的设置使其可以打印相关信息。注册表如下
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
"DEFAULT"=dword:0000000f
用txt文本保存,更改后缀.reg,运行就ok。