Конференция "WinAPI" » Узнать путь USB устройства
 
  • ffh2000 (10.01.14 21:03) [20]
    Ребят, поясните плиз.
    Вот я получил в посте Дмитрия от  (31.07.09 08:01) [1]

    ...
    DevPath:=PChar(@DevInfoDetail.devicepath);



    Это то имя устройства, которое я могу использовать в CreateFile?

    Вопрос задаю потому, что у меня USB термопринтер китайский (GPrinter GP3120-T), не поддерживает русские шрифты и мне надо сформировать картинку с текстом и отправить на него как команды принтера напрямую. Через COM3 все ок, но медленно. Его родная программа умеет с ним работать через COM и через USB (у принтера два порта). Понятно, что через USB быстрее на много. Но GDI драйвера в системе на этот принтер нет т.е. я не могу использовать обычный спулер печати.
    Я нашел имя этого устройства (пусть пока вручную с помощью программы от Rouse_. Имя такое: \Device\USBPDO-5. Вот тут http://www.itshop.ru/Visual-C-Rabota-s-USB-ustroystvami/l9i22755 (см. в самом конце статьи листинг) они передают именно  devinfodetail->devicepath. Если я передаю это имя, то получаю "Системе не удается найти указанный путь", как будто я открываю файл на диске. Аналогично я пробовал подставить имя порта COM1, он у меня есть в системе и его devinfodetail->devicepath = '\Device\0000006f', получаю ту же ошибку. А вот если вызову как 'COM1', то все нормально. Пробовал впереди писать '\\.', но толку нет.
    Может кто подскажет где собака порылась?
  • Rouse_ © (17.02.14 14:05) [21]

    > Может кто подскажет где собака порылась?

    CreateFile не откроет такие пути, используй ZwOpenFile()
 
Конференция "WinAPI" » Узнать путь USB устройства
Есть новые Нет новых   [118461   +17][b:0][p:0]