как заставить это чудо работать? делаю вот так: HANDLE hDevice = CreateFile(InterfaceDetailData->DevicePath, FILE_ALL_ACCESS, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, NULL, NULL); if(hDevice == INVALID_HANDLE_VALUE) { std::cout << "ERROR: CreateFile error\n"; return FALSE; } else { CHANGER_PRODUCT_DATA product = { 0 }; OVERLAPPED overlpd; DWORD dwReturn = 0; BOOL bOk = DeviceIoControl(hDevice, IOCTL_CHANGER_GET_PRODUCT_DATA, NULL, 0, &product, sizeof(CHANGER_PRODUCT_DATA)+1, &dwReturn, &overlpd); if(bOk == FALSE) { std::cout << "ERROR: ....\n"; DisplayErrorText(GetLastError()); return FALSE; } else { std::cout << product.SerialNumber << "\n"; } }