mycookie
驱动小牛
驱动小牛
  • 注册日期2002-12-09
  • 最后登录2010-08-11
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1366回复:7

CE是根据Usb设备的什么来寻找驱动软件

楼主#
更多 发布于:2005-01-04 11:06

我在.reg和.bib文件中加入驱动文件的相应内容。
project.bib
***.dll    $(_FLATRELEASEDIR)\\***.dll                     NK  SH

poject.reg
[HKEY_LOCAL_MACHINE\\Drivers\\USB\\LoadClients\\1333_1222\\Default\\Default\\***]
   "DLL"="***.DLL"


[HKEY_LOCAL_MACHINE\\Drivers\\USB\\***]
    "Prefix"="***"
    "Dll"="***"

我是按照帮助里面写的
PC中是根据VID和PID来识别驱动文件,
那么CE中是根据什么来识别驱动文件的?


[编辑 -  1/4/05 by  mycookie]
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-04 13:23
肯定也是用vid和did来的三
根据地的兄弟们,团结就是力量
mycookie
驱动小牛
驱动小牛
  • 注册日期2002-12-09
  • 最后登录2010-08-11
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-04 13:26
poject.reg
[HKEY_LOCAL_MACHINE\\Drivers\\USB\\LoadClients\\1333_1222\\Default\\Default\\***]

是不是1333_1222用VID PID 代替??1333_1222是我随便写的
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-04 13:28
咦,不对,你说的是怎么区分驱动?谁区分驱动?device.exe只负责加载,他不管是什么,而上层使用设备的的时候需要用设备名usb0:来区分。

如果是动态加载的话还是需要用vid和did的吧
根据地的兄弟们,团结就是力量
mycookie
驱动小牛
驱动小牛
  • 注册日期2002-12-09
  • 最后登录2010-08-11
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-04 14:27
我的意思是:驱动软件是通过DEVICE.EXE 来安装的,
当USB设备查上CEPC的时候,系统去寻找与这个设备对应的驱动软件。
帮助上写
Registry keys control how USB device drivers are loaded. When a USB device is attached, the USB driver module loads the appropriate USB device driver to control that device, based on the device's configuration and interface descriptor information. The USB driver module locates the correct driver by using a set of registry keys, which track both the drivers and the devices. The registry keys are stored as subkeys of the HKEY_LOCAL_MACHINE\\Drivers\\USB\\LoadClients key.
Subkeys for each driver have the form Group1_ID\\Group2_ID\\Group3_ID\\DriverName
Group1_ID DeviceVendorID,
DeviceVendorID_DeviceProductID,
DeviceVendorID_DeviceProductID_DeviceReleaseNumber
Group2_ID DeviceClassCode,
DeviceClassCode_DeviceSubclassCode,
DeviceClassCode_DeviceSubclassCode_DeviceProtocolCode
Group3_ID InterfaceClassCode,
InterfaceClassCode_InterfaceSubclassCode,
InterfaceClassCode_InterfaceSubclassCode_InterfaceProtocolCode
但我怎么也不能把Group1_ID\\Group2_ID\\Group3_ID和我的设备联系起来。
mycookie
驱动小牛
驱动小牛
  • 注册日期2002-12-09
  • 最后登录2010-08-11
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-04 14:58
PC上当插入设备的时候,系统识别驱动软件并执行驱动软件的一部分代码。在CE上DEVICE.exe负责加载后,插入设备后,总该让系统知道这个设备是用这个驱动软件的吗?
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-04 15:31
喔我的意思是device.exe加载驱动只是盲目扫描注册表,然后把它们全部加载好。而usb的controller(我想应该就是ms说的usb的hub吧)的驱动应该事先跑起来,然后当设备(usb端设备)插入usb的连接器以后,这个事件被检测,并报告usb hub,然后由hub从usb端设备读出vender id和device id,然后匹配注册表,然后加载合适的驱动。


以上我纯属想象乱说的哈,兄弟不要怪我喔:))),我不发言了,我听高手发言:)))
根据地的兄弟们,团结就是力量
mycookie
驱动小牛
驱动小牛
  • 注册日期2002-12-09
  • 最后登录2010-08-11
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-04 16:15
我看了帮助,感觉我自己没错。自己先试试
游客

返回顶部