阅读:1204回复:1
急!在windows2003下枚举HID设备失败!但在XP下一切正常!为何?
以下是程序片段:
// 枚举 HID 设备 GUID hidguid; HidD_GetHidGuid(&hidguid); HANDLE hDevice = INVALID_HANDLE_VALUE; HDEVINFO info = SetupDiGetClassDevs(&hidguid, NULL, NULL, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE); DWORD dwError = GetLastError(); if (info != INVALID_HANDLE_VALUE) { SP_DEVICE_INTERFACE_DATA ifdata; ifdata.cbSize = sizeof(ifdata); for (DWORD devindex = 0; SetupDiEnumDeviceInterfaces(info, NULL, &hidguid, devindex, &ifdata); ++devindex) { …………………………………… } } 在XP下执行到 GetLastError(); 时返回 0;而2003下返回997也就是 ERROR_IO_PENDING ;若在继续执行下去 SetupDiEnumDeviceInterfaces 将返回失败;而xp下一切正常。请教是什么原因?特急! |
|
沙发#
发布于:2007-01-24 20:52
是不是和win2003的安全配置有关系?
|
|