阅读:1017回复:6
急问关于驱动的一些问题???
1. 驱动程序怎么和设备联系在一起的,书上说是用设备描述符,那设备描述符是固化在设备里的么?
2. guid是干什么的,在驱动程序中起什么作用? 3.另外,当usb设备和主机连着时,不能关机,一关就蓝屏,说什么 DRIVER_POWER_STATE_FAILER.卸载之后就可以关机,为什么? 4.一个驱动程序如何识别两个或多个相同的设备? 捆饶我很长时间的问题了,希望高手们帮帮忙. 不胜感激! -- |
|
沙发#
发布于:2004-01-15 09:52
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2004-01-15 09:54
1. 驱动程序怎么和设备联系在一起的,书上说是用设备描述符,那设备描述符是固化在设备里的么? 对于你的问题我不能完全解答,不过就我所知说一点: 1)设备描述符是一个设备的基本信息,例如这个设备的支持的协议和版本,供电等,是固化在设备中的,当主机通过标准请求从设备获得信息,通过这些信息为设备寻找相应的驱动。 2)GUID可是是驱动程序的一个标识吧 3)这个问题我没有碰到过 4)在设备插入的时候,USB为每个设备设置一个唯一的设备号,利用这个设备号,同一个程序可以操作两个相同的设备。 请大家补全 |
|
|
地板#
发布于:2004-01-15 10:03
设备描述符只是在设备首次安装或枚举时才有用,它的作用是告诉操作系统一些关于设备的信息。
将驱动程序和设备联系在一起的是PID和VID,而GUID是给应用程序访问设备时使用的。 关机蓝屏,我想时你的设备驱动程序没有很好的支持电源管理规范。 只要PID、VID相同系统就加载同一个驱动程序。 |
|
地下室#
发布于:2004-01-15 10:03
楼上的,每个设备一个唯一的设备号,那一个驱动程序如何识别啊?
难道两个相同的设备有一样的pid,vid 吗? 另外,GUID能在详细说说吗,谢谢? [编辑 - 1/15/04 by nuanfeng] [编辑 - 1/15/04 by nuanfeng] |
|
5楼#
发布于:2004-01-15 10:18
这要看两个设备如何使用,若可能同时插在主机上就不能采取我上面的说法,若不会同时插在主机上就没问题。
还有我要再强调一下,驱动程序不是通过GUID和设备关联的。 GUID的作用是:当用户应用程序要访问设备时先要打开设备,这时操作系统需要知道设备的GUID,然后操作系统返回设备的句柄。接下来用户应用程序就能用这个句柄象读写文件一样读写设备了。 |
|
6楼#
发布于:2004-01-15 11:11
楼上的,每个设备一个唯一的设备号,那一个驱动程序如何识别啊? 你可能对驱动程序的概念有些误解,这样解释吧: 当驱动程序检测到一个新设备后,为它分配一个唯一设备号,然后应该向系统注册这个设备,在驱动之上应该还有一个设备管理层,当应用程序需要操作这个设备时,会指明是对哪个设备操作,这样设备号就通过设备管理程序到驱动,驱动再通过USB协议操作设备(ID是协议中一个要素)。 以上仅代表个人意见。 |
|
|