nullnull 驱动编绎 石俊
QQ21659779目标目标NT驱动的编绎
用DDK环境编绎NT驱动
用VC集成开发环境编译NT驱动
WDM驱动的编绎
用DDK环境编绎WDM驱动
VC集成开发环境编绎WDM驱动DDK编绎环境编绎NT驱动DDK编绎环境编绎NT驱动编绎前要编写一个编绎脚本文件,在这个脚本中描述了DDK驱动程序的源文件、用到的LIB文件和INCLUDE路径名、编绎输出的目录和文件名等信息。
在编写完这两个(makefile与sources)脚本后,在Windows的开始菜单中选择“Windows XP Checked Build Environment”编绎环境。
用CD命令进行要编绎的目录,然后执行“BUILD”命令。null图1 DDK编绎1null图2 DDK编绎2null图3 编绎后生成的文件夹和文件用VC集成开发环境编译NT驱动用VC集成开发环境编译NT驱动(1)用VC建立一个新
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
。在VC IDE环境中选择“File”|“New”,弹出“New”对话框。在该对话框中,选择“Project”选项卡。在“Project”选项卡中,选择Win32 Application(因为VC并没有提供驱动程序的工程,所以在Win32工程的基础上进行修改)。工程名为“DriverDev”,如图4所示。单击“OK”按钮,进入下一个对话框。在该对话框中,选择一个空的工程,如图5所示。
null图4 添加新工程null图5 创建新工程null(2)将两个源文件Driver.h和Driver.cpp拷贝到工程目录中,并添加到工程中,如图6所示。
图6 添加新文件到工程null(3)增加新的编译版本,去掉Debug和Release版本,如图7和图8所示。
图7 配置编绎版本null(4)修改工程属性。选择“Project”|“Setting”,或者直接按下Alt+F7键,弹出“Project Settings”对话框。在对话框中,选择“General”选项卡。将Intermediate files和Output files改为MyDriver_Check,如图9所示。
图8 修改后的check版本null图9 修改输出目录null选择C/C++选项卡,将原有的Project Options内容全部删除,替换成如下内容,如图10所示。
/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
null图10 修改C++选项卡null选择Link选项卡,将原有的Project Options内容全部删除,替换成如下内容,如图11所示。
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
null图11 修改link选项卡null(5)修改VC的lib目录和include目录。在VC中选择“Tools”|“Options”,在弹出的对话框中选择“Directories”选项卡。在“Show directories for”下拉菜单中选择“Include files”菜单。添加“D:\WINDDK\2600.1106\INC\W2K”和“D:\WINDDK\2600.1106\INC\DDK\W2K”,并将这两个目录置于最上,如图12(a)所示。读者可将“D:\WINDDK\ 2600.1106”替换成自己的DDK安装目录。这里应该选择W2K子目录,DDK中还会有相应的XP子目录。因为XP驱动编译时候需要高版本的VC编译器,所以这里用的是W2K子目录,它编译的代码完全可以应用于Windows 2000和Windows XP操作系统下。
在“Show directories for”下拉菜单中选择“Library files”菜单,添加目录“D:\WINDDK\ 2600.1106\LIB\W2K\I386”,并置于最上端,如图12(b)所示。
(6)编译。按下F7键,和1.3.2节一样,同样会编译出一个HelloDDK.sys文件。null图12 设置include目录和设置lib目录用DDK环境编绎WDM驱动用DDK环境编绎WDM驱动用DDK环境编绎WDM驱动也要用makefile和sources这两个脚本文件。其中只要sources文件稍微有点差异。如下图:
编绎过程同NT驱动。
nullNT驱动脚本文件WDM驱动脚本文件VC集成开发环境编绎WDM驱动VC集成开发环境编绎WDM驱动VC集成开发环境编绎WDM驱动VC集成开发环境编绎WDM驱动用VC集成开发环境编绎WDM驱动与编绎NT驱动类似。
用VC建立一个新的工程。
添加WDM的源文件以该工程中。
增加新的编绎版本,去掉Debug和Release版本。
修改工程属性。在VC中选择“Project”|“Setting”。
选择General选项卡。将“Intermediate files”和“Output files”改为MyDriver_check 。null选择C/C++选项卡,将原有的Project Options内容清空,替换成如下内容:
选择Link选项卡,将原有的Project Option清空,替换成如下内容:/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 /cwdm.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:4078null修改VC的LIB和INCLUDE目录。
编绎。
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
总结分别了解和掌握NT驱动和WDM驱动的两种编绎方式。null