WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

WinUSB (winusb.sys) — проприетарный USB-драйвер, поставляемый корпорацией Microsoft в составе своих операционных систем семейства Windows, начиная с Windows XP. Позволяет разработчикам Windows-совместимых USB устройств облегчить разработку за счет отказа от создания, сертификации и распространения собственных драйверов устройств.

Предназначен для устройств, доступ к которым осуществляется только одним программным приложением в любой момент времени (что подходит для большинства устройств) и позволяет приложению получать прямой доступ к устройству через простую программную DLL-библиотеку (winusb.dll). Библиотека обеспечивает конфигурирование USB-интерфейса устройства и обмен данными с ним на уровне конечных точек.

Техническая реализация

При подключении USB устройства оно сообщает хосту свои дескрипторы. Чтобы устройство определилось как совместимое с WinUSB, в нем должен существовать строковый дескриптор с индексом 0xEE, содержащий строку «MSFT100». После этого WinUSB запрашивает свои дескрипторы вендора.

Достоинства и недостатки

Достоинства

  • Не требуется знать, как писать драйверы
  • Упрощается и ускоряется разработка

Недостатки

  • Только одно приложение имеет доступ к устройству в любой момент
  • Поддержка изохронной передачи появилась, начиная с Windows 8.1
  • Некоторые ограничения в конфигурировании USB-интерфейса устройства

Другие решения

Одним из решений является использование стандартизированных классов USB-устройств. Операционные системы содержат встроенные драйверы для некоторых из них. Например, HID-класс или CDC-класс (англ.). CDC-устройство может выступать как виртуальный последовательный порт для использования нового устройства с устаревшими приложениями или для простоты создания новых приложений и устройств теми, кто не знаком с USB на уровне программирования.

Если предыдущий вариант решения не подходит, каждый может попробовать написать специализированный драйвер. Для новых версий Microsoft Windows это можно сделать при помощи Windows Driver Foundation.

Вместо WinUSB можно использовать библиотеку с открытым исходным кодом libusb-win32. Эта библиотека также как WinUSB упрощает работу с USB устройствами, и может применяться в операционных системах Linux, Windows и Mac OS.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии