Phryck
驱动牛犊
驱动牛犊
  • 注册日期2009-01-29
  • 最后登录2011-05-31
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2712回复:2

[求分析帝]Hidd_GetFeature操作系统死机

楼主#
更多 发布于:2010-04-07 09:44
简单来说,
执行如下代码
for(int i=0;i<100;i++)
{
    ret = HidD_SetFeature(hDev,inputBuff,length);
    while (!ret)
    {
        ret = HidD_GetFeature(hDev,outputBuff,length);
    }
}
执行期间拔出设备,操作系统会直接死掉,不是蓝屏,像是内核跑死了。
但单步调试时执行到 HidD_GetFeature函数拔出设备也不会死,全速跑的时候一把设备基本就挂了。
手里有别人做得相同功能的软件,但没有源码,同样的设备别人的不会死,Bus Hound从数据上也未见异常。
有没有高人遇到过这种问题?怎么处理或规避?
eaatcc
禁止发言
禁止发言
  • 注册日期2006-04-21
  • 最后登录2018-12-27
  • 粉丝0
  • 关注0
  • 积分6884分
  • 威望34869点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2010-04-07 16:32
用户被禁言,该主题自动屏蔽!
Phryck
驱动牛犊
驱动牛犊
  • 注册日期2009-01-29
  • 最后登录2011-05-31
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-04-08 09:53
终于有人回了,激动....
PS:一种加密设备,走的是HID协议固件交互用的SetFeature,产品需要往里下载一些必要的程序。
主要是别人做的工具跑的过程中拔出设备不死,我做的工具开始交互的时候拔出就死。在HidD_GetFeature的后面加过一个Sleep(100),这样在操作虽然不会死,但下载速度也也随之降下来了,没有意义。

大家在用HidD_Get/SetFeature的时候都有没有什么保护措施?
游客

返回顶部