阅读:1997回复:1
请教一个调试设备枚举问题的方法,谢谢
碰到一个设备枚举的问题,在应用程序层收到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还会报告我设备到达的消息,这岂不是不一致了。 该现象还不是每次必出,很头疼如何定位原因。 |
|
|
沙发#
发布于:2011-04-22 21:39
CM_Locate_DevNode的第二个参数,你确定设置正确了吗?
我建议你这样: CM_Locate_DevNode(&instl, _T("USB\\PID_XXX&VID_XXX"),CM_LOCATE_DEVNODE_NORMAL); 试试看。 |
|
|