8225|12

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

100分紧急求助:USB HID类设备开发中用CreateFile无法得到设备句柄,如何解决? [复制链接]

利用开发板的资源做了一个USB接口的鼠标,就是用开发板上的一个摇杆作为鼠标方向的移动,另外用两个按键分别模拟鼠标的左键和右键。

现在想写上位机程序(VC6.0)对它进行读写,在得到了设备路径名之后,调用CreateFile总是失败,用GetLastError看到ErrorCode为ERROR_ACCESS_DENIED。通过单步调试可以看到已经可以获得正确的设备路径名了。(我使用的是XP系统自带的驱动程序。)

看到有人说过,CreateFile如果想打开系统独占型的设备(比如鼠标键盘这种标准输入输出设备),只会返回无效的句柄。如果是这样,我想请问:一个设备是否是系统独占型设备是由什么决定的?是该设备所对应的驱动程序中吗?还是USB设备的Firmware?

回答任何问题都有分给,谢谢各位了。

最新回复

问题已经解决了 原来我做的HID设备是个Mouse,而Mouse和Keyboard这类HID类设备是被系统独占的 一般情况下是无法用CreateFile得到句柄的 除非你把第二个参数置‘0’ 但是那样得到的句柄既不能读也不能写 to:xsb1979 关于如何得到第一个参数,可以到驱动开发论USB专区坛里面搜索相关帖子,有很详细的解释 论坛网址:bbs.driverdevelop.com  详情 回复 发表于 2007-10-22 08:29
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我想可能在驱动程序里面
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
To: rzsheng(跑生活的男人)
系统自带的USB HID类驱动以及对应的.inf文件存放在哪里?
可以看得到驱动的源程序吗?

 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

4
 
没有人回复吗?
再顶!
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
Hidclass.sys设备类驱动程序
hidusb.sys小驱动程序
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
To:oushengfen(逸帆)
你说的.sys文件是最终的驱动程序。能不能看到它的源码,看是否可以做适当修改以适合我的设备,谢谢。
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

7
 
具体的我也不清楚,如果是通用的话,则直接可以使用系统的驱动,如果想在系统驱动上面做什么话,则可以做过滤驱动程序吧,具体要去找相关的资料.
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
你调用CreateFile的参数是什么?尤其是dwDesiredAccess(第二个)参数,如果是GENERIC_WRITE的话,那恭喜你,可能只要改为GENERIC_READ | GENERIC_WRITE就OK了。

http://support.microsoft.com/kb/842792
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

9
 
看看你的驱动里的IRP_MJ_CREATE是怎么处理的,肯定是处理这个消息的函数里面没有成功返回,把代码贴出来吧
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

10
 
可以使用系统的驱动
另外查找相关的详细资料也可以呀
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

11
 
楼主你好,我在和你做类似的东西,很想请教一下,我现在通过程序已经找到了USB设备,但我不知道下一步通讯用的CreateFile的第一个参数用什么,就是USB设备的描述符怎么取,对应注册表里的哪些项,能够告诉我,或发邮件给我,xsb1979@hotmail.com 谢谢
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

12
 
{
        SetupDiDestroyDeviceInfoLis
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

13
 
问题已经解决了
原来我做的HID设备是个Mouse,而Mouse和Keyboard这类HID类设备是被系统独占的
一般情况下是无法用CreateFile得到句柄的
除非你把第二个参数置‘0’
但是那样得到的句柄既不能读也不能写

to:xsb1979
关于如何得到第一个参数,可以到驱动开发论USB专区坛里面搜索相关帖子,有很详细的解释
论坛网址:bbs.driverdevelop.com
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表