此帖出自嵌入式系统论坛
最新回复
没人知道么?
这几天有了进展,进一步问一下:
我用vs2005模拟pb的conshid和mouhid写了一个驱动upen.dll,然后我在注册表中新建了如下子键:
hkey_local_machine\drivers\USB\LoadClients\1204_61983\Default\Default\UPen,1204和61983是我的设备的vid和pid,在UPen子键下新建键值dll=upen.dll,现在的问题是:
1、为什么接上我的hid设备后这个驱动好像没有被加载呢?我只是修改注册表和拷贝upen.dll,而且我在dll的DllEntry函数的一开始加了一个messagebox好知道这个dll被加载了,但这个messagebox始终没有出现过。
2、目前我的wince开发板上的系统是个只读系统,不管我修改注册表还是拷贝文件,断电后就会消失,无法做到在启动时加载我的程序,是否是由于这个原因呢?
3、我看了一些hid和普通驱动的例子,都提到了自己的驱动要实现xxx_init,xxx_read等函数,但是我看过pb自带的hid驱动例子,里面并没有这些函数,我的理解是如果你的设备是一个全新的设备,就是那种需要修改注册表增加一个prefix的设备,那么是需要实现这几个函数的,但如果是利用现有的wince已有的驱动,比方说没有特殊要求的hid驱动,那么这些xxx_init等是不需要实现的,只需导出HIDDeviceAttach和HIDDeviceNotifications就可以了,这样是否正确?
以上有个补充:就是我所说的不需要特殊需求的设备,我认为wince系统其实是已经认到了我的设备而且为它加载好一个通用的驱动了,因为《wince驱动开发指南》中提到:如果wince系统找不到和设备匹配的驱动,那么它会弹出一个对话框要求用户输入一个驱动程序的名称,而像这种鼠标或者是我的hid设备,ce系统并没有提示需要驱动程序,我在ce系统的注册表中观察,鼠标加载的是usbhid.dll和mouhid.dll,鼠标在注册表中注册的Actives子键下的设备名称是hid1,我的hid设备接上系统后,也在actives下面增加了一个子键,但是子键下没有name项,只有hnd项和key项,这让我比较迷惑,不知道有哪位朋友可以帮我解惑?
详情
回复
发表于 2008-3-19 11:33
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
EEWorld Datasheet 技术支持