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
}

我需要 phWinUSBHandle 来使用WinUsb_GetDescriptor函数。

我将非常感谢任何帮助。也许有人知道在 Windows 中获取供应商 ID 和产品 ID 的其他方法?

4

1 回答 1

1

你提到libusb图书馆了吗?它可能会帮助你。

于 2012-08-08T07:32:12.753 回答