先安装VS2017,然后在安装WDK,WDK会自动关联到VS2017中,不用你任何操作,自动在新建项目中可以找到驱动开发。

如果以上安装完成后,在VS2017中新建项目中没有发现WDK,那么需要进行修复。

修复的方法:进入WDK安装后的文件夹中,找到Vsix这个文件夹,双击运行WDK.vsix,程序会自动修复,完成,再次打开VS2017,搞定。

VS2017搭建驱动开发环境WDK-LMLPHP

VS2017搭建驱动开发环境WDK-LMLPHP

测试代码

#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;
}

修改项目属性

VS2017搭建驱动开发环境WDK-LMLPHP

VS2017搭建驱动开发环境WDK-LMLPHP

VS2017搭建驱动开发环境WDK-LMLPHP

VS2017搭建驱动开发环境WDK-LMLPHP

Win7x64位系统测试,禁止强制签名。

VS2017搭建驱动开发环境WDK-LMLPHP

修改注册表解决 Win7 DbgView 不显示调试信息

默认情况下Win7下的DbgView会不显示调试信息,如 OutputDebugStringKdPrint 等函数的输出。这需要在注册表中单独的设置使其可以打印相关信息。注册表如下

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
"DEFAULT"=dword:0000000f

用txt文本保存,更改后缀.reg,运行就ok。

VS2017搭建驱动开发环境WDK-LMLPHP

05-11 17:49