如何使用libusb获取驱动器名?我使用windows和下一个代码:
#define VID 0x4444
#define PID 0x0001
#define PID_FILE 0x1000
//..
libusb_device **devs;
uint8_t i = 0;
uint8_t path[9];
std::string devices;
libusb_init(&ctx);
libusb_get_device_list(ctx, &devs);
while ((dev = devs[i++]) != NULL)
{
struct libusb_device_descriptor desc;
uint8_t r = libusb_get_device_descriptor(dev, &desc);
r = libusb_get_port_numbers(dev, path, SIZE_PATH);
if (desc.idVendor == VID && (desc.idProduct == PID || desc.idProduct == PID_FILE))
{
printf("%04x:%04x (bus %d, device %d)\n",
desc.idVendor, desc.idProduct,
libusb_get_bus_number(dev), libusb_get_device_address(dev));
path[8] = libusb_get_port_numbers(dev, path, SIZE_PATH);
path[path[8]] = libusb_get_bus_number(dev);
for (uint8_t g = 0; g < 9; g++) {
devices += format("X%x", path[g]);
}
devices += ",";
}
}
在这段代码中,我得到了USB路径(我使用闪存盘)。如何获得驱动器名称(如E:\?)
发布于 2018-07-09 15:17:08
使用WinUSB表示窗口,请查找正式通知。
办公室文档中的文本片段
该项目将Windows平台支持添加到libusb开源库中,以帮助开发人员在Windows上轻松地与USB设备进行通信。目前,它支持用于通用USB设备访问的WinUSB和HID驱动程序,以及libusb 32和libusbK驱动程序。 请注意,libusbK 32和libusbK是分开的项目。libusb 32是一个仅适用于Windows的项目,它为Windows和内核驱动程序libusb0.sys提供了与libusb-0.1API兼容的库。libusbK是一个仅用于Windows的项目,它为Windows和内核驱动程序libusbK.sys提供了一组新的API。
https://stackoverflow.com/questions/51248369
复制相似问题