我在Windows上使用qt。我的程序需要知道插入的USB闪存驱动器的供应商ID和产品ID。
我试图从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的其他方法?
最佳答案
您是否引用了libusb
库?它可能会帮助您。