5130|6

62

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助:USB HID设备无法访问题 [复制链接]

我在做一块usb声卡,这是一个USB Composite Device,Firmware写完了,现在想做pc host的app,要对HID的endpoint4写数据,打开设备的时候能得到设备路径,但是无法读写,部分代码如下。
    //Open the USB device
    char completeDeviceName[MAX_PATH] = "";
    strcat(completeDeviceName, functionClassDeviceData->DevicePath);
//    strcat(completeDeviceName, "\\pipe4");
    HANDLE hDevice = CreateFile(
                completeDeviceName,
                0,//GENERIC_WRITE | GENERIC_READ,
                FILE_SHARE_WRITE | FILE_SHARE_READ,
                NULL,
                OPEN_EXISTING,
                FILE_FLAG_OVERLAPPED,
                NULL);
/*completeDeviceName的值为"\\?\hid#vid_0451&pid_2100&mi_03#7&f15c21&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"*?

        if (! WriteFile(hDevice, pData, iLen, &dwWrite, lpOverlapped))
        long lLastError = ::GetLastError();/*这里得到的错误号为5:拒绝访问。如果用CreateFile(completeDeviceName,GENERIC_WRITE | GENERIC_READ,...),则错误号为1784:提供给请求操作的用户缓冲区无效。*/

请各位帮忙看一下,可能是什么地方出问题了,多谢。

最新回复

关注 接分  详情 回复 发表于 2008-4-30 18:48
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
SF
,不懂
学习中....
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
可能firmware有问题,描述符你是怎么定义的?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
我的也一样. 如果将HID类设为键盘/鼠标的话. 是无法用CreateFile打开该设备的. 后来我就改为游戏手柄类. 结果OK.
我怀疑是windows操作系统占用了该设备.
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
HID类设为键盘/鼠标
系统标识为独占了吧,所以打开读写失败的.
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
楼上能不能将你的usb声卡完整的源代码放在帖子上!
能行吗?.....
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

7
 
关注 接分
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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