阅读:2611回复:6
WINCE5.0下USB驱动注册表配置,急!!!
有一USB设备,在xp下被认为是HID的.
CE下我先写了一个驱动UBC.dll(该驱动是空的,只是个架构,将系统中的KBDHID.dll改成我的UBC.dll,测试可以通过,插上USB键盘有我驱动里的消息弹出,应该可以说明该驱动架购没有问题) 在XP下用usbview看到的我的USB设备的信息如下: Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0x00 bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x08 (8) idVendor: 0x1BD2 idProduct: 0x0001 bcdDevice: 0x2005 iManufacturer: 0x01 iProduct: 0x02 iSerialNumber: 0x00 bNumConfigurations: 0x01 ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Low Device Address: 0x01 Open Pipes: 0 我在CE 下的注册表信息如下: [HKEY_LOCAL_MACHINE\Drivers\HID\ClientDrivers\UsbKey] "DLL"="UBC.DLL" "Prefix"="UBC" "IClass"="{CBE6DDF2-F5D4-4e16-9F61-4CCC0B6695F3}" "RemoteWakeup"=dword:00000001 [HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\7122_1\Default\Default\UsbKey] "DLL"="UBC.DLL" [HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\UsbKey] "DLL"="UBC.DLL" "Prefix"="UBC" "IClass"="{CBE6DDF2-F5D4-4e16-9F61-4CCC0B6695F3}" "RemoteWakeup"=dword:00000001 [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\7122_1\Default\Default\UsbKey] "DLL"="UBC.DLL" "Prefix"="UBC" 系统启动后可以看到,我的注册表是有的,但插上我的USB设备,死活就么有消息出来? 根本没有任何反应? 为什么呢? 十万火急! 谢谢! 驱动架构和注册表我都是参照PB下的keyboard驱动和注册表修改的. 还有记得原来用usb摄相头时,插如设备,系统会弹出个框让输入驱动的名称,怎么我的设备插入后什么反应没有? 该设备在XP下是好用的. |
|
|
沙发#
发布于:2007-09-16 11:26
我的消息是在 HIDDeviceNotifications中弹出的.
各位有什么高见啊? 我看帮助就是这么配置的,不知道哪里出错了. |
|
|
板凳#
发布于:2007-09-17 09:48
经过跟踪分析,先发现如下现象:
我的注册表配置和驱动都应该没有问题. 在wince5.0的系统的USBHID驱动中出现问题. 系统加载后系统首先启动USBHID驱动, 在该驱动的USBDeviceAttach 函数中出现问题. 该函数传进来的 UsbInterface 中没有ENDPOINT 信息,所以系统就中断了,也没有信息框弹出,让输入什么驱动名称之类的. 向有硬件经验的大侠请教一下: 像是usb的什么idwendor,ipproduct还有endpoint信息,是不是都是硬件出厂是在硬件里要写好的,如果没有这些信息,硬件就不可以被初始化? |
|
|
地板#
发布于:2007-09-17 11:39
这里几年前人期很旺的,现在怎么人这么少了?
大家都不搞CE吗? |
|
|
地下室#
发布于:2007-09-18 17:08
没人做过吗?
我现在通过跟踪下面的USBD层,虽然发现设备接口是HID的,但可以不加载系统的hid驱动,而直接调进自己的驱动. 现在自己的驱动有点问题, 苦恼! |
|
|
5楼#
发布于:2007-09-18 20:24
插入USB设备以后出现一个对话框让输入驱动程序的名称,是因为找不到这个设备的驱动程序.
你现在的情况,看来驱动已经找到了.接下来的问题你自己仔细调就行,太细的问题别人也不好帮忙 |
|
|
6楼#
发布于:2007-11-25 23:15
关注~~
|
|
|