阅读:4712回复:1
用VC开发HID设备时使用SetupDiEnumDeviceInterfaces函数时返回值为什么总是0?
如题,有什么可能的原因吗?
|
|
沙发#
发布于:2007-05-23 19:42
1. 首先使用GetLastError看看调用失败后的错误代码;
2. 导致失败可能的原因有: 2.1 接口类的GUID没有给对,使用HidD_GetHidGuid获取HID的GUID了吗? 2.2 索引参数赋初值了吗? 2.3 deviceInterfaceData初始化了吗? 2.4 ... 给你一个例子,你参照下吧: HidD_GetHidGuid (&hidGuid); hDeviceInfo = SetupDiGetClassDevs ( &hidGuid,NULL,NULL, (DIGCF_PRESENT | DIGCF_DEVICEINTERFACE)); if (hDeviceInfo == INVALID_HANDLE_VALUE) { return 0; } deviceInterfaceData.cbSize = sizeof (SP_INTERFACE_DEVICE_DATA); currentHidDevice = 0; while (SetupDiEnumDeviceInterfaces (hDeviceInfo, 0, &hidGuid, currentHidDevice, &deviceInterfaceData) ) {......} |
|