0
我正在使用COM端口查找所有USB設備。我當前的方法找到所有com設備的列表,但是,此列表包含當前未連接的設備。我怎樣才能過濾未連接的設備?如何從僅連接的設備過濾Windows api設備信息?
我試圖避免嘗試建立到設備的連接,因爲列表可能非常大。
void FindDevice() {
SP_DEVINFO_DATA spDevInfoData;
QString szClass("USB");
HDEVINFO hDevInfo = GetHDevInfo(szClass);
spDevInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
for(int i=0; SetupDiEnumDeviceInfo(hDevInfo, i, &spDevInfoData); i++) {
DWORD nSize=0 ;
TCHAR buf[MAX_PATH];
if (!SetupDiGetDeviceInstanceId(hDevInfo, &spDevInfoData, buf, sizeof(buf), &nSize)) {
continue;
}
QString value(QString::fromWCharArray(buf));
addDevice(value);
}
update();
}