VC6.0 +WDK 开发驱动的环境配置
来源:互联网 发布:英科宇软件输入口令 编辑:程序博客网 时间:2024/06/10 23:20
1.安装好VC6和DWK,先后顺序无关。
从开始菜单找到WDK的程序目录,进入“Windows XP Checked Build Environment”,输入命令"build",此时WDK将会把自己进行编译,大约需要1分钟。
2.VC6设置Include/Lib/Executable目录。
设置为自己需要编译的平台的各个目录即可, Include要确保找到ntddk.h等,Lib与Include对应,Executable 要确保能找到cl.exe
例如XP平台下设置为:
include包含部分:
C:\WinDDK\7600.16385.1\inc\ddk
C:\WinDDK\7600.16385.1\inc\api
C:\WinDDK\7600.16385.1\inc\crt
lib连接库包含部分:
C:\WINDDK\7600.16385.1\LIB\WXP\I386
C:\WINDDK\7600.16385.1\LIB\WIN7\I386
执行文件包含:
C:\WINDDK\7600.16385.1\BIN
C:\WINDDK\7600.16385.1\BIN\X86
C:\WinDDK\7600.16385.1\bin\x86\x86
对于VC原有的路径,Include 和 Lib建议都删除掉,而Executable则将你新加的置顶,顺序不能错。其余建议保留(虽然编译驱动不会使用VC的Bin目录下的ml.exe、link.exe 等,但vc的代码提示等功能是需要bin目录下的一些程序来完成的,因此还是至少要保留VC原有的Bin目录,但必须在DDK的之后)。
3.建立一个空工程,Exe或者Dll都可以,然后直接修改工程属性:
要改的地方不少,描述各个选项还不如直接记录个文本的,清空C/C++和Link下面的Option文本框,按下面的填写。
C/C++ 选项填写:
/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /c
LINK 选项填写:
NT式驱动为
ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
WDM式驱动为
wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"SYS_Check/HelloWDM.pdb" /debug /machine:I386 /nodefaultlib /out:"SYS_Check/HelloWDM.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
4.保存配置,现在给这个空工程建一个c文件,复制以下内容:
#include <ntddk.h>
NTSTATUS DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
NTSTATUS status = STATUS_UNSUCCESSFUL;
return status;
}
编译通过则配置成功!!!
从开始菜单找到WDK的程序目录,进入“Windows XP Checked Build Environment”,输入命令"build",此时WDK将会把自己进行编译,大约需要1分钟。
2.VC6设置Include/Lib/Executable目录。
设置为自己需要编译的平台的各个目录即可, Include要确保找到ntddk.h等,Lib与Include对应,Executable 要确保能找到cl.exe
例如XP平台下设置为:
include包含部分:
C:\WinDDK\7600.16385.1\inc\ddk
C:\WinDDK\7600.16385.1\inc\api
C:\WinDDK\7600.16385.1\inc\crt
lib连接库包含部分:
C:\WINDDK\7600.16385.1\LIB\WXP\I386
C:\WINDDK\7600.16385.1\LIB\WIN7\I386
执行文件包含:
C:\WINDDK\7600.16385.1\BIN
C:\WINDDK\7600.16385.1\BIN\X86
C:\WinDDK\7600.16385.1\bin\x86\x86
对于VC原有的路径,Include 和 Lib建议都删除掉,而Executable则将你新加的置顶,顺序不能错。其余建议保留(虽然编译驱动不会使用VC的Bin目录下的ml.exe、link.exe 等,但vc的代码提示等功能是需要bin目录下的一些程序来完成的,因此还是至少要保留VC原有的Bin目录,但必须在DDK的之后)。
3.建立一个空工程,Exe或者Dll都可以,然后直接修改工程属性:
要改的地方不少,描述各个选项还不如直接记录个文本的,清空C/C++和Link下面的Option文本框,按下面的填写。
C/C++ 选项填写:
/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /c
LINK 选项填写:
NT式驱动为
ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
WDM式驱动为
wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"SYS_Check/HelloWDM.pdb" /debug /machine:I386 /nodefaultlib /out:"SYS_Check/HelloWDM.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
4.保存配置,现在给这个空工程建一个c文件,复制以下内容:
#include <ntddk.h>
NTSTATUS DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
NTSTATUS status = STATUS_UNSUCCESSFUL;
return status;
}
编译通过则配置成功!!!
1 0
- 【转】VC6.0 +WDK 开发驱动的环境配置
- [转]VC6.0 +WDK 开发驱动的环境配置
- 【转】VC6.0 +WDK 开发驱动的环境配置
- VC6.0 +WDK 开发驱动的环境配置
- VC6.0 +WDK 开发驱动的环境配置
- VC6.0 +WDK 开发驱动的环境配置
- VC6.0 +WDK 开发驱动的环境配置
- VC6.0 +WDK 开发驱动的环境配置
- VC6.0 +WDK 开发驱动的环境配置---外篇
- WDK(7600.16385.1) + VC6 驱动开发环境配置
- WDK(7600.16385.1) + VC6 驱动开发环境配置
- VC6.0 + WDK 7600.16385.1 开发环境配置
- Windows驱动开发VS2012 DDK/WDK的环境配置
- vs2005与wdk 驱动开发环境配置
- VS2010 WDK 7.0配置驱动开发环境
- vs2008+wdk配置驱动开发环境
- VS+WDK配置驱动开发环境
- vc6.0+wdk配置
- 模块应用-docopt
- 0000 0001 、HDFS 和 MapReduce
- 大数据批处理框架 Spring Batch全面解析
- JAVA Scanner的用法
- getServletConfig() 与getServletContext() 的区别
- VC6.0 +WDK 开发驱动的环境配置
- mfc groupbox 标题动态修改
- #169. 【UR #11】元旦老人与数列
- angular1 ui-router使用
- 可能用到的java扩展包:javax.*
- 手机打开网站打开出现page not exists错误
- 对齐方式#pragma pack()伪指令及_attribute_aligned_指令
- 编译安装php7
- rocketmq安装(windows) 与常用命令