Windows驱动开发环境搭建之Hello World

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bxsec/article/details/77896430

驱动程序的生成

[个人配置]

win7_x64
vs2015
WDK10

按照书上的例子进行编写,只包含了类似下面 ntxxx.h 的头文件,都无法找着:

#include <ntddk.h>
#include <ntifs.h>
...

第一反应是vs中的包含目录中没有驱动头文件的目录,其默认包含如下

vs_VC++ include目录

然而在对应的版本中并没有发现有对应的目录:

km

在对应的include版本下,有多个版本,尝试着从前一个版本(10.0.14393.0中)复制一个km目录到当前版本(10.0.15063.0)的include中:
km

再次回到 vs中发现 include都能找到头文件,然后进行编译,又出错了: LINK : fatal error LNK1181: 无法打开输入文件“C:\Program Files (x86)\Windows Kits\10\lib\10.0.15063.0\km\x86\cfg_support_v1.lib

网上有资料说:安装的 windows10 sdk 与 wdk10 的版本号不一致的情况下会出现这样的问题。 经过检查确认 自己机器上的版本是一直的。。

老办法从前一个版本中找到对应的目录,复制一份到新版本的目录中,这次编译生成驱动文件。

驱动程序的运行

[安装驱动主机配置]

win7 x86

以管理员权限启动 DbgView, 加载驱动程序,发现DbgView中没有任何消息。

  • 解决方案:
    • 1.打开注册表
    • 2.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
    • 3.建立[Debug Print Filter]这个新键。
    • 4.新增加一个“DEFAULT”的DWORD值,将其内容设置0x0f,如下图所示:
    • 5.重启OS后生效

再次加载驱动——–成功打印出消息

展开阅读全文

没有更多推荐了,返回首页