64位驱动环境配置
下载vs对应的wdk 微软官网下载
根据wdk安装路径设置系统环境变量
vs配置
$(WDKPATH) 为 wdk路径 系统环境变量
配置可执行文件目录: $(WDKPATH)\bin;$(WDKPATH)\bin\amd64;
配置包含目录:$(WDKPATH)\inc;$(WDKPATH)\inc\ddk;$(WDKPATH)\inc\api;$(WDKPATH)\inc\crt;
配置库目录: $(WDKPATH)\lib;$(WDKPATH)\lib\Crt\amd64;$(WDKPATH)\lib\ATL\amd64;$(WDKPATH)\lib\wxp\amd64;$(WDKPATH)\lib\win7\amd64;
库目录:$(WDKPATH)\lib;$(WDKPATH)\lib\win7\amd64;
常规选项卡
警告等级 (3 级(/W3)
将警告视为错误 (是(/wx) //建议 防止蓝屏的情况
优化选项卡
优化(禁用/Od)
预处理器
预处理器定义:_AMD64_=1,AMD64=1,STD_CALL=1,WINVER=0x0501,_DEBUG =1
代码生成
基本运行时检查:默认值
运行时库:多线程调试(/MTd)
高级
调用约定 __stdcall(/Gz)
常规
启用增量链接:否(/INCREMENTAL:NO)
输入
附加依赖项
ntoskrnl.lib;ndis.lib;Hal.lib;wdm.lib;wdmsec.lib; //根据实际情况调整
忽略所有默认库: 是 (/NODEFAULTLIB)
调试:
生成调试信息 是(/DEBUG)
生成映像文件:是(/MAP)
映像文件名:$(TargetDir)$(TargetName).map
系统(System)
子系统: 本机 (/SUBSYSTEM:NATIVE)
驱动程序: 驱动程序(/DRIVER)
最基础驱动代码
#include <ntddk.h>
VOID UnDriver(PDRIVER_OBJECT driver)
{
KdPrint(("Uninstall Driver Is OK \n"));
}
NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
KdPrint(("hello driver \n"));
DriverObject->DriverUnload = UnDriver;
return STATUS_SUCCESS;
}
win7 有驱动签名验证,如果出现驱动无法加载的情况,可以查看windows系统日志,
关闭方法:
重启windows F8 选择关闭驱动签名。
浙公网安备 33010602011771号