1

Windowsでqtを使用しています。私のプログラムは、差し込まれた USB フラッシュ ドライブのベンダー ID と製品 ID を知る必要があります。

このトピックの例を実装しようとしましたが、 WinUsb_Initialize 関数でセグメンテーション違反が発生しています。

これは私のコードです:

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
}

WinUsb_GetDescriptor関数を使用するには、phWinUSBHandle が必要です。

どんな助けにもとても感謝します。WindowsでベンダーIDと製品IDを取得する別の方法を誰かが知っているでしょうか?

4

1 に答える 1

1

libusb図書館を紹介しましたか?それはあなたを助けるかもしれません。

于 2012-08-08T07:32:12.753 に答える