1. 遍历设备, 获取HID device的 device path
-
bool ISMCol::getHIDDevs(TCHAR **arrWireless, TCHAR **arrWired, LPDWORD lpdwWirelessNums, LPDWORD lpdwWiredNums) { GUID hidGuid; HDEVINFO hDevInfo; DWORD dwDevIndex; SP_INTERFACE_DEVICE_DATA interfaceData; DWORD dwWireless = 0, dwWired = 0; HidD_GetHidGuid(&hidGuid); interfaceData.cbSize = sizeof(SP_INTERFACE_DEVICE_DATA); hDevInfo = SetupDiGetClassDevs(&hidGuid, NULL, NULL, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE); if (hDevInfo == INVALID_HANDLE_VALUE) { return false; } for (dwDevIndex = 0; SetupDiEnumDeviceInterfaces(hDevInfo, NULL, &hidGuid, dwDevIndex, &interfaceData); ++dwDevIndex) { DWORD dwRequiredSize; PSP_INTERFACE_DEVICE_DETAIL_DATA detailData; SP_DEVINFO_DATA devinfoData; TCHAR szDevPath[MAX_PATH]; ZeroMemory(szDevPath, MAX_PATH); SetupDiGetDeviceInterfaceDetail(hDevInfo, &interfaceData, NULL, 0, &