欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VS2017搭建驱动开发环境WDK

程序员文章站 2022-05-11 15:47:34
先安装VS2017,然后在安装WDK,WDK会自动关联到VS2017中,不用你任何操作,自动在新建项目中可以找到驱动开发。 如果以上安装完成后,在VS2017中新建项目中没有发现WDK,那么需要进行修复。 修复的方法:进入WDK安装后的文件夹中,找到Vsix这个文件夹,双击运行WDK.vsix,程序 ......

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

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

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

VS2017搭建驱动开发环境WDK

 VS2017搭建驱动开发环境WDK

测试代码

#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

VS2017搭建驱动开发环境WDK

VS2017搭建驱动开发环境WDK

VS2017搭建驱动开发环境WDK

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

VS2017搭建驱动开发环境WDK

修改注册表解决 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