Получение информации о usb-принтере по VID \ PID - PullRequest
0 голосов
/ 16 мая 2018

Я пытался получить имя usb-принтера, используя запрос wmi через приложение c #.Я использую этот пример .Результат был

Device ID: USB\VID_0B0B&PID_106E\5&18F54CB7&0&2, PNP Device ID: USB\VID_0B0B&PID_106E\5&18F54CB7&0&2, Description: USB Printing Support

Это не подходит для меня, в диспетчере устройств Windows это отображается как DatamaST-3210.После этого я пытаюсь получить данные, используя WmiExplorer

select * from Win32_PnPEntity

. И я получаю 2 устройства:

instance of Win32_PnPEntity
{
    Caption = "USB Printing Support";
    ClassGuid = "{36fc9e60-c465-11cf-8056-444553540000}";
    CompatibleID = {"USB\\Class_07&SubClass_01&Prot_02", "USB\\Class_07&SubClass_01", "USB\\Class_07"};
    ConfigManagerErrorCode = 0;
    ConfigManagerUserConfig = FALSE;
    CreationClassName = "Win32_PnPEntity";
    Description = "USB Printing Support";
    DeviceID = "USB\\VID_0B0B&PID_106E\\5&18F54CB7&0&2";
    HardwareID = {"USB\\VID_0B0B&PID_106E&REV_0304", "USB\\VID_0B0B&PID_106E"};
    Manufacturer = "Microsoft";
    Name = "USB Printing Support";
    PNPDeviceID = "USB\\VID_0B0B&PID_106E\\5&18F54CB7&0&2";
    Service = "usbprint";
    SystemCreationClassName = "Win32_ComputerSystem";

};

instance of Win32_PnPEntity
{
    Caption = "DatamaxST-3210";
    ConfigManagerErrorCode = 0;
    ConfigManagerUserConfig = FALSE;
    CreationClassName = "Win32_PnPEntity";
    Description = "DatamaxST-3210";
    DeviceID = "USBPRINT\\DATAMAXST-3210\\6&93D5382&B&USB001";
    HardwareID = {"USBPRINT\\DatamaxST-3210A4C7", "DatamaxST-3210A4C7"};
    Name = "DatamaxST-3210";
    PNPDeviceID = "USBPRINT\\DATAMAXST-3210\\6&93D5382&B&USB001";
    Status = "OK";
    SystemCreationClassName = "Win32_ComputerSystem";
};

Первое из них имеет DeviceID с данными, которые я использую для поиска, но не Caption.Второе устройство имеет правильный заголовок и нет информации о его vid \ pid.

При использовании оконного устройства я вижу, что на моем устройстве есть Parent с правильным vid / pid.Я верю, что устройство USBPRINT является дочерним по отношению к USB \ VID _...

Итак, как я могу получить имя устройства USBPRINT, зная устройства VID \ PID?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...