nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2077回复:10

USB HID驱动加载问题

楼主#
更多 发布于:2005-01-28 17:09
[HKEY_LOCAL_MACHINEDriversUSBLoadClientsDefaultDefault3Hid_Class]
    "DLL"="USBHID.DLL"

[HKEY_LOCAL_MACHINEDriversUSBClientDriversHid_Class]
    "DLL"="USBHID.DLL"
    "Prefix"="HID"

[HKEY_LOCAL_MACHINEDriversHIDLoadClientsDefault1_6Keyboard]
    "DLL"="KBDHID.DLL"

[HKEY_LOCAL_MACHINEDriversHIDClientDriversKeyboard]
    "DLL"="KBDHID.DLL"
    "Prefix"="KBD"
    "IClass"="{CBE6DDF2-F5D4-4e16-9F61-4CCC0B6695F3}"

[HKEY_LOCAL_MACHINEDriversHIDLoadClientsDefault1_2Mouse]
    "DLL"="MOUHID.DLL"

[HKEY_LOCAL_MACHINEDriversHIDLoadClientsDefault12_1Consumer]
    "DLL"="CONSHID.DLL"


如果一个usb mouse设备添加到wince系统,MOUHID怎么知道该调用USBHID提供的usb功能呢。
主要是看了PUBLIC\\COMMON\\OAK\\DRIVERS\\USB\\CLASS\\HID\\CLIENTS\\MOUHID并没有体现usb的特性,我想肯定是系统的原因。或则是wince驱动结构的问题。

因为是迷惑,可能问题也不是太明确。
还有就是GroupX_ID的值如何知道呢?

[编辑 -  1/28/05 by  nustzhua]
不限容量的免费邮箱 www.k65.net
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-01 11:35
都这么多天了,还是没有人回答,郁闷啊。
我把问题说清楚些,wince中mouse,keyboard这样的是usb设备,
首先是要加载mouse驱动,系统怎么知道该加载哪个驱动呢,PUBLIC\\COMMON\\OAK\\DRIVERS\\USB\\CLASS\\HID\\CLIENTS\\MOUHID
如何把数据从usb设备得到呢?
迷惑啊,是问题太难了没人回答,还是太愚蠢了呢?
不限容量的免费邮箱 www.k65.net
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-01 13:35
哈哈,稳住稳住

我说说我的看法:
你的驱动的结构应该是:鼠标驱动使用了USB CONTROLLER驱动完成最终的硬件访问,而上层完全不管你的鼠标使用的是什么方式(USB或PS/2)。那么只要系统加载了USB CONTROLLER驱动(我认为应该是HOST CONTROLLER),以及你的鼠标驱动(当然,你的鼠标驱动在和下层打交道的时候会使用USB CONTROLLER驱动提供的接口)就可以工作了。从刚才的描述也知道,应该让系统先加载USB CONTROLLER驱动。

以上纯属个人看法,错了不要怪我哈:))
根据地的兄弟们,团结就是力量
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-01 13:46
“PUBLIC\\COMMON\\OAK\\DRIVERS\\USB\\CLASS\\HID\\CLIENTS\\MOUHID并没有体现usb的特性“


我看了一下,体现使用下层USB特性的东西应该是用参数传进来的:

pHidMouse->pHidFuncs->xxxxx()

根据地的兄弟们,团结就是力量
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-01 15:07
“PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\HID\CLIENTS\MOUHID并没有体现usb的特性“


我看了一下,体现使用下层USB特性的东西应该是用参数传进来的:

pHidMouse->pHidFuncs->xxxxx()

 


其实mouhid本身就是usb client driver中的,符合usb hid spec的。
我估计还是在注册表中有些规则。比如
HKEY_LOCAL_MACHINE\\Drivers\\USB\\LoadClients\\Default\\Default\\3\\Hid_Class
中的3应该表明是usb hid class


HKEY_LOCAL_MACHINE\\Drivers\\HID\\LoadClients\\Default\\1_6\\Keyboard
中的1和6也应该有特殊的含义。有待去了解。

不限容量的免费邮箱 www.k65.net
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-02-01 15:27
嗯,兄弟可以看看msdn的帮助三,应该有的喔
根据地的兄弟们,团结就是力量
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-01 17:40
3为InterfaceClassCode
问题是从哪儿可以到InterfaceClassCode详细的值呢。
不限容量的免费邮箱 www.k65.net
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-02-02 13:35
如果帮助上没有详细讲各个InterfaceClassCode,你找找PB里面试试喃
根据地的兄弟们,团结就是力量
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-02-05 11:15
http://www.usb.org/developers/defined_class
不限容量的免费邮箱 www.k65.net
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-02-05 12:58
GOOD GUY:)
根据地的兄弟们,团结就是力量
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-02-06 16:38
GOOD GUY:)

多谢夸奖。
不限容量的免费邮箱 www.k65.net
游客

返回顶部