freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:1884回复:12

hid应用程序读操作导致程序被堵塞

楼主#
更多 发布于:2004-09-01 14:40
我的app用writefile写,用readfile读,会很偶然地在readfile出被堵塞.我也尝试采用异步读操作,不过没有效果.也许是自己理解不深.希望有经验的,站出来指导一下:)
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-01 14:53
反复尝试用ReadFileEx也没成功.一直就卡在这个点上,一直不能完成任务. :(
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-01 15:26
 :o期待各位关注一下
xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-01 15:29
采用中断或BULK方式 如果上下配合不好,是有可能出现这个问题的。
我想要点分,这样才有成就感嘛!
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-01 15:49
我这里只是在app层读写hid设备,因此我想只能从异步方面考虑解决问题.只是我也反复尝试也没成功,期盼高手指点
xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-01 16:17
异步或超时机制 如果驱动不支持 是不管用的。你用的是什么USB芯片?
我想要点分,这样才有成就感嘛!
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-01 17:46
用的芯片是CM109的,支持异步或超时吗
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-01 17:49
非常感激xjLegend的支持  ;)
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-09-01 17:54
我的app主要是通过writefile, readfile扫描hid类型的web phone的键盘按键
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2004-09-01 18:05
开一个线程来读写数据,加入OVERLAP方式,应该管用
一起交流,共同提高!
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-09-01 18:22
我用多媒体定时器,结果也被堵塞啦.
HANDLE hUsbDev = CreateFile(deviceInterfaceDetailData->DevicePath, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, NULL);


OVERLAPPED ol;
memset(&ol, 0, sizeof(OVERLAPPED));
ol.hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
dwLen = 0;
BOOL bRet = ReadFile(pHid->hDev, pData, 10, &dwLen, &ol);
     if( WaitForSingleObject(ol.hEvent, 5) == WAIT_OBJECT_0)
ProcessVolumekey(*pHid,  pData[1]);
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-09-01 18:25
就差这一点点问题没解决, 时间一点一点地滑过,头都大啦 :(
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-09-02 08:11
大家上午好!在线等候大家
游客

返回顶部