gsbean
驱动牛犊
驱动牛犊
  • 注册日期2002-10-07
  • 最后登录2002-10-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1076回复:4

新手求知

楼主#
更多 发布于:2002-10-10 14:04
刚开始接触驱动,有几个问题困惑良久,望高手帮忙:
   1。 在DS自动生成的INF文件中,其ClassGuid和驱动文件中的设备 Guid的取值是不一样的,两者有什么联系吗?
   2。 在DS自动生成的调试文件中,一般都有Read 和write函数,是否说需要对硬件(如USB)操作的驱动调试也可先在无硬件插入的情况下进行模拟调试?还是说必须要插入硬件后才能进行驱动调试?
  3 在我用DS自动生成的调试文件调试一个不需要对硬件进行操作的驱动时,SYS驱动持续已经安装,而且调试时也可以打开驱动设备(通过GUID,我已跟中过),但在使用ReadFile()读取30个字节时,虽然函数的操作成功返回,但却不能返回正确的结果(30个字节都是?,实际读取的字节数目也是0)。 在用WriteFile进行写操作时也是同样的情况。
    不知大家是如何解决的?望不吝赐教
itrooster
驱动牛犊
驱动牛犊
  • 注册日期2002-07-16
  • 最后登录2003-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-10 14:16
看看ds的开发文档或许有所启发!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-10 14:19
1. 没有联系,ClassGuid是设备类型识别用的,只在安装的时候有用,设备 Guid是用来给其他想要访问你驱动的程序提供的接口,就想一个名称一样
2。 当然要要硬件
3。这个问题需要看你的驱动中是怎么处理read irp和write irp的
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
gsbean
驱动牛犊
驱动牛犊
  • 注册日期2002-10-07
  • 最后登录2002-10-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-10 16:43
感谢楼上的朋友.
  1 我发现一个问题:我用DS生成的几个INF文件中的Classguid都是一样的,不管我写PCI,还是USB,还是不用硬件驱动的.
  怎么改啊?否则,我机器上不是只能安装一个驱动来调试吗?
如果安装两个,则第二个将提示说设备名称已经被使用?
faint !!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-10 16:58
向导工具给你生成的只是一个固定的classguid

你要根据需要改动,如果你的设备是标准设备,必须使用标准设备对应的guid,
如果是自己的设备,则可以用vc中的工具genguid。exe来生成一个guid
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
游客

返回顶部