2012-08-07 602 views
1

我在Windows上使用qt。我的程序需要知道插入的USB閃存驅動器的供應商ID和產品ID。如何獲得在Windows上的QT的USB設備的供應商ID和PID?

我試圖實現this topic的示例,但我在WinUsb_Initialize function上遇到了分段錯誤。

這是我的代碼:

HANDLE hDevice = CreateFileA("\\\\.\\PhysicalDrive1", GENERIC_WRITE | GENERIC_READ , 
    FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); 

if(hDevice == INVALID_HANDLE_VALUE) 
{ 
    qDebug() << "hDevice - INVALID_HANDLE_VALUE"; 
} 
else 
{ 
    qDebug() << "hDevice handle ok"; 
    PWINUSB_INTERFACE_HANDLE phWinUSBHandle; 
    BOOL result = false; 
    result = WinUsb_Initialize(hDevice, phWinUSBHandle); //seg 
} 

我需要phWinUSBHandle使用WinUsb_GetDescriptor功能。

我會很感激任何幫助。也許有人知道一些替代方法來獲取Windows中的供應商ID和產品ID?

+0

不,我沒有找到。 – sparkyfx 2016-07-30 13:33:55

回答

1

你提到libusb庫嗎?它可能會幫助你。

+0

閱讀[本主題](http://comments.gmane.org/gmane.comp.lib.libusb.devel.windows/4417)後,恐怕libusb-win32不會幫助我。我會在稍後嘗試libusb-win32。感謝您的重播。 – sparkyfx 2012-08-08 13:55:46

相關問題