首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用libusb获取驱动器名?

如何使用libusb获取驱动器名?
EN

Stack Overflow用户
提问于 2018-07-09 14:50:32
回答 1查看 1.3K关注 0票数 0

如何使用libusb获取驱动器名?我使用windows和下一个代码:

代码语言:javascript
运行
复制
#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:\?)

EN

回答 1

Stack Overflow用户

发布于 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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51248369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档