6403|2

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince如何对我的通用usb hid设备进行操作? [复制链接]

设备是我自己的通用usb hid,在windows xp等系统下的话不需要任何驱动用CreateFile打开就可以直接操作的,现在连接到wince系统后,在wince的注册表的localmachine\drivers\active下面找到了这个设备,但里面只有两项:Hnd和Key,没有Name,我怎样打开这个设备进行操作呢?是不是需要自己另外写驱动程序才可以?

最新回复

没人知道么? 这几天有了进展,进一步问一下: 我用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
点赞 关注

回复
举报

81

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
“不需要任何驱动”这个说法是错误的,其实是XP中已经有了它的驱动,不用你再安装而已。

不知道你的是什么设备,如果这个设备在你的wince下没有驱动的话,那你肯定要写驱动才行。
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没人知道么?
这几天有了进展,进一步问一下:

我用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项,这让我比较迷惑,不知道有哪位朋友可以帮我解惑?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表