为什么用SetupDiEnumDeviceInterfaces总是返回ERROR_NO_MORE_ITEMS?
GUID ClassGuid={0x4D36E967,0xE325,0x11CE,0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18};
//此处ClassGuid我换过几个不同的设备的GUID都不行
HDEVINFO hDevInfo = SetupDiGetClassDevs(&ClassGuid, NULL, NULL, DIGCF_INTERFACEDEVICE|DIGCF_PRESENT);
SP_INTERFACE_DEVICE_DATA deviceInfoData;
deviceInfoData.cbSize = sizeof (SP_INTERFACE_DEVICE_DATA);
ULONG nGuessCount = 4;
bool bResult;
for(ULONG iDevIndex=0; iDevIndex<nGuessCount; iDevIndex++)
{
bResult=SetupDiEnumDeviceInterfaces(hDevInfo, 0, &ClassGuid, iDevIndex, &deviceInfoData))
//这里总是返回false,并产生ERROR_NO_MORE_ITEMS错误
if(GetLastError() == ERROR_NO_MORE_ITEMS)
{
ShowMessage("ERROR_NO_MORE_ITEMS");
break;
}
}
SetupDiDestroyDeviceInfoList(hDevInfo);