1> 建立一个win32应用程序工程。
2>修改工程属性。Project—>Setting—>C/C++中的Project Options内容替换成
/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
3>修改Link选项卡,Project ->Setting->Link
将原来的Project Options内容替换成
ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
4>修改VC的lib目录和include目录
(DDK安装在D:\WINDDK\2600)
Tools->Options->Show deritories
Executable files中添加:
D:\WINDDK\2600\BIN\X86
Include files 中添加:
D:\WINDDK\2600\INC\CRT
D:\WINDDK\2600\INC\DDK\WXP
D:\WINDDK\2600\INC\WXP
D:\WINDDK\2600\INC\DDK\WDM\WXP
Library files中添加:
D:\WINDDK\2600\LIB\WXP\I386
并将它放入最前即可
二、编译WDM式驱动
1>建立一个win32应用程序工程。
2>修改工程属性。Project ->Setting->C/C++中的Project Options内容替换成
/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
3>修改Link选项卡,
Project ->Setting->Link
将原来的Project Options内容替换成
wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloWDM.pdb" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloWDM.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
4>修改VC的lib目录和include目录
(DDK安装在D:\WINDDK\2600)
Tools->Options->Show deritories
Executable files中添加:
D:\WINDDK\2600\BIN\X86
Include files 中添加:
D:\WINDDK\2600\INC\CRT
D:\WINDDK\2600\INC\DDK\WXP
D:\WINDDK\2600\INC\WXP
D:\WINDDK\2600\INC\DDK\WDM\WXP
Library files中添加:
D:\WINDDK\2600\LIB\WXP\I386
并将它放入最前即可
DDK驱动的加载
用ds3.2中的driver monitor工具加载:
参考<?xml:namespace prefix = st1 />张帆老师的《windows驱动开发技术详解》时,需要看到加载的DDk驱动,本人也是新手,没有看到结果,所以不能给出参考结果!!
WDM驱动加载
用DS3.2中的EzDriverInstaller工具加载:
单击File ->Open
选择HelloWDM.inf文件;
单击Add New Device
就完成了WDM驱动的记载。
WDM驱动加载的参考结果:
我们可以在设备管理器中看到多了一个Zhangfan _Device.
至于EzDriverInstaller中的其他的选项,您可以自己试验其效果。其实可以根据其英文说明就知道了其作用。