为什么SetupDiEnumDeviceInterfaces不成功

代码如下:
BOOL Bluetooth(LPCWSTR lpcAdapterID)
//lpcAdapterID我传进去的是网卡的GUID的字符串形式
{
HDEVINFO DeviceInfoSet;
GUID InterfaceClassGuid;
SP_DEVICE_INTERFACE_DATA DeviceInterfaceData;

RPC_STATUS rpcRet;
rpcRet = UuidFromString((RPC_WSTR)lpcAdapterID, &InterfaceClassGuid);

DeviceInfoSet = SetupDiGetClassDevs((LPGUID) &InterfaceClassGuid, 0, 0,DIGCF_PRESENT);
if (DeviceInfoSet == INVALID_HANDLE_VALUE)
{
// Insert error handling here.
return FALSE;
}

DeviceInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);

BOOL bRet = SetupDiEnumDeviceInterfaces(DeviceInfoSet,NULL,
&InterfaceClassGuid,0,&DeviceInterfaceData);
if (bRet == 0){
DWORD dwRet = GetLastError();
return FALSE;
}
return TRUE;
}
其他都成功,运行到SetupDiEnumDeviceInterfaces时,就失败了,返回值bRet是0,调用GetLastError(),返回值dwRet是259。
请问高手怎么回事?
最新回答
清炒黄油条

2024-10-31 10:46:09

GUID不对三!!!
仔细查查你的设备驱动程序GUID