unicornx
驱动牛犊
驱动牛犊
  • 注册日期2006-11-13
  • 最后登录2013-04-26
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望166点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:1917回复:1

请教一个调试设备枚举问题的方法,谢谢

楼主#
更多 发布于:2011-04-21 17:23
碰到一个设备枚举的问题,在应用程序层收到device arrival消息后调用CM_Locate_DevNode

dwErrorCode = CM_Locate_DevNode(&DevInstCurrent, strDeviceId.GetBuffer(strDeviceId.GetLength()), CM_LOCATE_DEVNODE_NORMAL);

得到错误码返回值CR_NO_SUCH_DEVNODE,去设备管理器或者USBView下可以看到该设备。不清楚是什么原因造成的,请问大家有没有碰到过这种情况,估计是什么地方造成的呢?

有什么方法可以跟踪看一下为何Windows认为设备节点不存在呢?为何在此情况下Windows还会报告我设备到达的消息,这岂不是不一致了。

该现象还不是每次必出,很头疼如何定位原因。
驱网无线,快乐无限
Pegram
论坛版主
论坛版主
  • 注册日期2005-12-03
  • 最后登录2013-08-23
  • 粉丝13
  • 关注5
  • 积分1333分
  • 威望4717点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分2分
沙发#
发布于:2011-04-22 21:39
CM_Locate_DevNode的第二个参数,你确定设置正确了吗?
我建议你这样:
CM_Locate_DevNode(&instl, _T("USB\\PID_XXX&VID_XXX"),CM_LOCATE_DEVNODE_NORMAL);
试试看。
《寒江独钓》与《竹林蹊径》的合作作者。精通USB开发,设计了CY001 USB驱动套件(http://bbs.driverdevelop.com/read.php?tid-119314.html)。
游客

返回顶部