- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ddkvs2005build
一 准备
DDK版本:Windows DDK 3790
IDE:Visual Studio 2005
二 用DDK环境编译驱动
这种编译驱动的办法是DDK文档中所提倡的办法。此种方法需要编写一个编译脚本文件,在这个脚本中描述了DDK驱动程序的源文件、用到的lib文件和include路径名、编译输出的目录和文件名等信息。编写此类脚本对于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
# ifdefed 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)是从外面的命令行传递进来的。第9行指明此驱动的类型为NT型驱动。接着是一些宏定义。
TARGETLIBS是编译时要链接的库INCLUDES是附加的包含目录。SOURCES指定源文件。编写完这两个脚本后,在Windows的开始菜单中选择“Windows XP Checked Build Environment”(或者其它操作系统)编译环境。
您可能关注的文档
最近下载
- 25题技术研发工程师岗位常见面试问题含HR问题考察点及参考回答.docx VIP
- 2025年《开学第一课》.ppt VIP
- 烟草物流师3级专业知识复习提纲下发版课件.docx
- Grundfos格兰富计量泵SMART Digital S, DDA, DDC, DDE up to 30 lph (Data Booklet)产品选型手册.pdf
- 2023年新版GMP成品运输确认.docx VIP
- 河北省阜平县石漕沟水库枢纽工程可行性研究报告的审查意见.docx
- 22G101 三维彩色立体图集.docx VIP
- 预留预埋施工.pdf VIP
- 某公司卓越绩效管理手册.pdf VIP
- 中国石化零售管理系统站级平台用户操作手册.doc VIP
文档评论(0)