nuanfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-12-29
  • 最后登录2005-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1018回复:6

急问关于驱动的一些问题???

楼主#
更多 发布于:2004-01-15 09:45
1. 驱动程序怎么和设备联系在一起的,书上说是用设备描述符,那设备描述符是固化在设备里的么?
2. guid是干什么的,在驱动程序中起什么作用?
3.另外,当usb设备和主机连着时,不能关机,一关就蓝屏,说什么
DRIVER_POWER_STATE_FAILER.卸载之后就可以关机,为什么?
4.一个驱动程序如何识别两个或多个相同的设备?

捆饶我很长时间的问题了,希望高手们帮帮忙. 不胜感激!
--



 
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-15 09:52
用户被禁言,该主题自动屏蔽!
jiangyiyong
驱动大牛
驱动大牛
  • 注册日期2002-11-28
  • 最后登录2004-08-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-15 09:54
1. 驱动程序怎么和设备联系在一起的,书上说是用设备描述符,那设备描述符是固化在设备里的么?
2. guid是干什么的,在驱动程序中起什么作用?
3.另外,当usb设备和主机连着时,不能关机,一关就蓝屏,说什么
DRIVER_POWER_STATE_FAILER.卸载之后就可以关机,为什么?
4.一个驱动程序如何识别两个或多个相同的设备?

捆饶我很长时间的问题了,希望高手们帮帮忙. 不胜感激!
--



  

对于你的问题我不能完全解答,不过就我所知说一点:

1)设备描述符是一个设备的基本信息,例如这个设备的支持的协议和版本,供电等,是固化在设备中的,当主机通过标准请求从设备获得信息,通过这些信息为设备寻找相应的驱动。

2)GUID可是是驱动程序的一个标识吧

3)这个问题我没有碰到过

4)在设备插入的时候,USB为每个设备设置一个唯一的设备号,利用这个设备号,同一个程序可以操作两个相同的设备。

请大家补全
我来自中国 抵制日货
sean_wang
驱动牛犊
驱动牛犊
  • 注册日期2003-10-28
  • 最后登录2004-02-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-15 10:03
设备描述符只是在设备首次安装或枚举时才有用,它的作用是告诉操作系统一些关于设备的信息。
将驱动程序和设备联系在一起的是PID和VID,而GUID是给应用程序访问设备时使用的。
关机蓝屏,我想时你的设备驱动程序没有很好的支持电源管理规范。
只要PID、VID相同系统就加载同一个驱动程序。
nuanfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-12-29
  • 最后登录2005-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-01-15 10:03
楼上的,每个设备一个唯一的设备号,那一个驱动程序如何识别啊?
难道两个相同的设备有一样的pid,vid 吗?

另外,GUID能在详细说说吗,谢谢?
[编辑 -  1/15/04 by  nuanfeng]

[编辑 -  1/15/04 by  nuanfeng]
sean_wang
驱动牛犊
驱动牛犊
  • 注册日期2003-10-28
  • 最后登录2004-02-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-01-15 10:18
这要看两个设备如何使用,若可能同时插在主机上就不能采取我上面的说法,若不会同时插在主机上就没问题。
还有我要再强调一下,驱动程序不是通过GUID和设备关联的。
GUID的作用是:当用户应用程序要访问设备时先要打开设备,这时操作系统需要知道设备的GUID,然后操作系统返回设备的句柄。接下来用户应用程序就能用这个句柄象读写文件一样读写设备了。
jiangyiyong
驱动大牛
驱动大牛
  • 注册日期2002-11-28
  • 最后登录2004-08-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-01-15 11:11
楼上的,每个设备一个唯一的设备号,那一个驱动程序如何识别啊?
难道两个相同的设备有一样的pid,vid 吗?

另外,GUID能在详细说说吗,谢谢?
[编辑 -  1/15/04 by  nuanfeng]

[编辑 -  1/15/04 by  nuanfeng]

你可能对驱动程序的概念有些误解,这样解释吧:

当驱动程序检测到一个新设备后,为它分配一个唯一设备号,然后应该向系统注册这个设备,在驱动之上应该还有一个设备管理层,当应用程序需要操作这个设备时,会指明是对哪个设备操作,这样设备号就通过设备管理程序到驱动,驱动再通过USB协议操作设备(ID是协议中一个要素)。

以上仅代表个人意见。
我来自中国 抵制日货
游客

返回顶部