Мне удалось проверить, вставлено ли USB-устройство через WM_DEVICECHANGE
.
case WM_DEVICECHANGE:
{
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
switch(wParam)
{
case DBT_DEVICEARRIVAL:
{
if (lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)
{
// Get Information about the usb device inserted
}
return TRUE;
}
}
}
Теперь я хочу убедиться, что было вставлено правильное USB-устройство, сопоставив какие-то идентификаторы, а также мне нужно проверить свободное место на USB-устройстве.
Одно решение, которое я могу сказать, - это перебирать все аппаратные устройства, пока одно из них не совпадет с информацией.
Есть ли другой способ распознать устройство после установки?