用DDK环境编译驱动.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 准备 DDK版本:Windows DDK 3790 IDE:Visual Studio 2005 二 用DDK环境编译驱动 这种编译驱动的办法是DDK文档中所提倡的办法。此种方法需要编写一个编译脚本文件,在这个脚本中描述了DDK驱动程序的源文件、用到的lib文件和inude路径名、编译输出的目录和文件名等信息。编写此类脚本对于Windows程序员可能比较陌生,尤其是当源文件较多时,编写脚本文件可能显得更如麻烦。在源程序的相同目录下创建两个文件makefile和Sources,这两个文件都是文本文件,内容如下。Makefile这个文件不要修改 # # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source # file to this component. This file merely indirects to the real make file # that is shared by all the driver components of the Windows NT DDK # !INCLUDE $(NTMAKEENV)\makefile.def Sources这个文件参考实际情况修改 !if "$(DDK_TARGET_OS)"=="Win2K" TARGETNAME=Passthru_2000 !elseif "$(DDK_TARGET_OS)"=="WinXP" TARGETNAME= Passthru _XP !elseif "$(DDK_TARGET_OS)"=="WinNET" TARGETNAME= Passthru _03Server !endif TARGETPATH=obj TARGETTYPE=DRIVER C_DEFINES=$(C_DEFINES) -DNDIS_MINIPORT_DRIVER -DNDIS_WDM=1 !if !defined(DDK_TARGET_OS) || "$(DDK_TARGET_OS)"=="Win2K" # # The driver is built in the Win2K build environment # C_DEFINES=$(C_DEFINES) -DNDIS40_MINIPORT=1 C_DEFINES=$(C_DEFINES) -DNDIS40=1 !else # # The driver is built in the XP or .NET build environment # So let us build NDIS 5.1 version. # C_DEFINES=$(C_DEFINES) -DNDIS51_MINIPORT=1 C_DEFINES=$(C_DEFINES) -DNDIS51=1 !endif # Uncomment the following to build for Win98/SE/WinMe # This causes several APIs that are not present in Win9X to be # ifdef'ed out. # C_DEFINES=$(C_DEFINES) -DWIN9X=1 PRECOMPILED_INCLUDE=precomp.h PRECOMPILED_PCH=precomp.pch PRECOMPILED_OBJ=precomp.obj !if !defined(DDK_TARGET_OS) || "$(DDK_TARGET_OS)"=="Win2K" TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib \ $(DDK_LIB_PATH)\ntstrsafe.lib !else TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib !endif USE_MAPSYM=1 INCLUDES= SOURCES=\ miniport.c \ passthru.c \ passthru.rc \ protocol.c \ PTEXTEND.C \ filter.c 前7行说明此驱动的名称$(DDK_TARGET_OS)是从外面的命令行传递进来的。 第行指明此驱动的类型为NT型驱动。 。TARGETLIBS是编译时要链接的库 INCLUDES是附加的包含目录。 SOURCES指定源文件。 编写完这两个脚本后,在Windows的开始菜单中选择“Windows XP Checked Build Environment”编译环境。Checked版本Free版本。两者的区别类似于Win32程

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档