nlq_new
驱动老牛
驱动老牛
  • 注册日期2003-04-11
  • 最后登录2012-04-28
  • 粉丝0
  • 关注0
  • 积分102分
  • 威望12点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1039回复:3

请教:Windows WDM设备驱动程序开发指南(Chris Cant)中的问题

楼主#
更多 发布于:2003-05-20 10:26
我用的是这本书,因为光盘中有一些例子可以参考,但是看WDM1中的NTDDK\\WDM1\\EXE\\wdm1Test.cpp时(这个文件的作用是打开到WDM1的一个连接,并对这个驱动程序进行测试),遇到一些问题:
#include \"c:\\98ddk\\inc\\win98\\setupapi.h\" // VC++ 5 one is out of date
#include \"..\\sys\\GUIDs.h\"
#include \"winioctl.h\"
#include \"..\\sys\\Ioctl.h\"
首先,我不明白这个\"..\\sys\\GUIDs.h\"的路径表示方式

其次,我用的是Win200DDK,安装目录D:\\NTDDK,自然不会有这样的路径:\"c:\\98ddk\\inc\\win98\\setupapi.h\",但是书上的讲解是这样的:
“关于Wdm1Test项目有两点要注意。第一点是它包括C:\\98ddk\\inc\\win98\\setupapi.h头文件,这个文件的VC++5版已经过时了,所以程序代码特别包括windows 98ddk版本。要求的第二个特别设置是保证\"c:\\98ddk\\inc\\win98\\setupapi.h\"列在项目设置的Link属性页的Output/library modules中。“
    以上是书上的原话,我的理解是要有98DDK,然后安装在C盘下,显然这是不对的,哪位大侠可以指点一二。

最新喜欢:

mapoflmapofl
[b][color=green]我庄严宣誓我没干好事[/color] [/b]
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-20 17:12
我用的是这本书,因为光盘中有一些例子可以参考,但是看WDM1中的NTDDK\\WDM1\\EXE\\wdm1Test.cpp时(这个文件的作用是打开到WDM1的一个连接,并对这个驱动程序进行测试),遇到一些问题:
#include \"c:\\98ddk\\inc\\win98\\setupapi.h\" // VC++ 5 one is out of date
#include \"..\\sys\\GUIDs.h\"
#include \"winioctl.h\"
#include \"..\\sys\\Ioctl.h\"
首先,我不明白这个\"..\\sys\\GUIDs.h\"的路径表示方式

其次,我用的是Win200DDK,安装目录D:\\NTDDK,自然不会有这样的路径:\"c:\\98ddk\\inc\\win98\\setupapi.h\",但是书上的讲解是这样的:
“关于Wdm1Test项目有两点要注意。第一点是它包括C:\\98ddk\\inc\\win98\\setupapi.h头文件,这个文件的VC++5版已经过时了,所以程序代码特别包括windows 98ddk版本。要求的第二个特别设置是保证\"c:\\98ddk\\inc\\win98\\setupapi.h\"列在项目设置的Link属性页的Output/library modules中。“
以上是书上的原话,我的理解是要有98DDK,然后安装在C盘下,显然这是不对的,哪位大侠可以指点一二。

1、这个目录的意思是,guids.h文件在你当前源文件(wdm1test.cpp)所在目录NTDDK\\WDM1\\EXE的上一层目录NTDDK\\WDM1的子目录sys下(即NTDDK\\WDM1\\sys)

2、你可以把setupapi.h考到你驱动源文件的目录下,然后include“setupapi.h”就可以了,当然也要把setupapi.lib也考过来,加入到vc的项目中
早起早睡 精神百倍
shinebean
驱动牛犊
驱动牛犊
  • 注册日期2003-02-27
  • 最后登录2004-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-21 09:50
我用的是这本书,因为光盘中有一些例子可以参考,但是看WDM1中的NTDDK\\WDM1\\EXE\\wdm1Test.cpp时(这个文件的作用是打开到WDM1的一个连接,并对这个驱动程序进行测试),遇到一些问题:
#include \"c:\\98ddk\\inc\\win98\\setupapi.h\" // VC++ 5 one is out of date
#include \"..\\sys\\GUIDs.h\"
#include \"winioctl.h\"
#include \"..\\sys\\Ioctl.h\"
首先,我不明白这个\"..\\sys\\GUIDs.h\"的路径表示方式

其次,我用的是Win200DDK,安装目录D:\\NTDDK,自然不会有这样的路径:\"c:\\98ddk\\inc\\win98\\setupapi.h\",但是书上的讲解是这样的:
“关于Wdm1Test项目有两点要注意。第一点是它包括C:\\98ddk\\inc\\win98\\setupapi.h头文件,这个文件的VC++5版已经过时了,所以程序代码特别包括windows 98ddk版本。要求的第二个特别设置是保证\"c:\\98ddk\\inc\\win98\\setupapi.h\"列在项目设置的Link属性页的Output/library modules中。“
    以上是书上的原话,我的理解是要有98DDK,然后安装在C盘下,显然这是不对的,哪位大侠可以指点一二。


\"..\\sys\\GUIDs.h\"
..表示当年目录的上一级目录。
你的这个工程是exe目录下的吧。
因为需要sys目录中的头文件,所以需要这样包含。
think different
nlq_new
驱动老牛
驱动老牛
  • 注册日期2003-04-11
  • 最后登录2012-04-28
  • 粉丝0
  • 关注0
  • 积分102分
  • 威望12点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-21 11:59
那这个呢?
#include \"c:\\98ddk\\inc\\win98\\setupapi.h\" // VC++ 5 one is out of date
是不是要象mailme说的:“你可以把setupapi.h考到你驱动源文件的目录下,然后include“setupapi.h”就可以了,当然也要把setupapi.lib也考过来,加入到vc的项目中”,可是我在机子上搜索了一下,找到几个setuupapi.h文件:d:\\ntddk下一个,d:\\program files\\microsoft visual studio\\vc98\\include下一个,应该拷贝哪个呢?

我记得shinebean也是用这本书的 :),有经验哪,以后要多多请教 :D :D :D
[b][color=green]我庄严宣誓我没干好事[/color] [/b]
游客

返回顶部