通过设备接口打开设备的步骤.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过设备接口打开设备 详细步骤 一、驱动程序 1.驱动程序框架的创建 (1)用VC建立一个新工程。在VC IDE环境中选择,弹出New对话框。在对话框中,选择Project选项卡。在Project选项卡中,选择Win32 Application 。设置工程名为OpenGuid.如图1所示,单击OK,进入下一个对话框,在对话框中选择一个空的工程。如图2。 图1 图2 (2).新建两个文件GuidOpen.h和GuidOpen.cpp.这两个文件的具体写法,详见程序编写。也可以直接添加现成的已经写好的文件,张帆这本书中,一般都是用的HelloWDM.h和HelloWDM.cpp. (3).增加新的编译版本,去掉Debug和Release版本。在Build |  Configuration如图3和图4。 图3 图4 (4).修改工程属性。选择Project|Setting,在弹出的对话框中,选择General选项卡,将Intermediate files和Output files改为MyDriver_Check,这个名字英语C/C++中,所设置的Fo和Fd后面的文件名相一致。如图5。 图5 将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 其中: /nologo:表示不显示编译的版本信息 /Gz:默认函数调用采用标准调用(_stdcall) /MLd /W3:采用第三级警告模式 /WX:将警告信息转换为错误信息,最大程度保证代码可靠 /Z7:用Z7模式产生调试信息? /Od:关闭调试模式,VC的调试命令不能调试内核下的程序 /D WIN32=100 /D_X86_=1 /D WINVER=0x500 /D DBG=1:定义4个宏(不知道为什么) /Fo"MyDriver_Check/:MyDriver_Check/为Output Directories中“创建”的文件夹,存放中间生成的目标代码路径 /Fd"MyDriver_Check/": MyDriver_Check/为存放.PDB文件的文件夹 /FD:生成文件依奈 /c:只进行编译,不连接 图6 选择Link选项卡,将原有的Project Options 内容全部删除,替换成如下内容: wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/GuidOpen.pdb" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/GuiOpen.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /IGNORE:4078 其中: wdm.lib:链接WDM库 /nologo:链接时不显示版本信息 /base:"0x10000":加载驱动时,设定加载到虚拟内存的地址 /stack:0x400000,0x1000:设定函数使用堆栈的地址与大小 /entry:"DriverEntry":入口函数的地址(为符合标准函数调用的) /subsystem:console:设置子系统 /incremental:no:非递曾式链接 /pdb:"MyDriver_Check/GuidOpen.pdb":设置pdb文件的文件名为GuidOpen,保存于MyDriver_Check文件夹下面C/C++属性页中的设置一样。 /debug:以Debug方式链接 /machine:I386:产生代码为386兼容的平台下的 /nodefaultlib:不使用默认的库 /out:"MyDriver_Check/GuidOpen.sys":输出2进制的代码的文件名,保存于MyDriver_Check文件夹下与C/C++属性页中的设置一样。 /pdbtype:sept:设置pdb文件的类型 /subsystem:native:子系统为内核系统 /driver:编译驱动 /SECTION:INIT,D:将INIT的段设置为可抛弃的 /IGNORE:4078:忽略4078号警告错误 图7 (5).修改VC的lib目录和include 目录。 Tools->Options->Directories属性页下的

文档评论(0)

177****7155 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档