GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Заглавная страница
  • Содержание
  • Избранные статьи
  • Случайная статья
  • Текущие события
  • Сообщить об ошибке
  • Как править статьи
  • Сообщество
  • Форум
  • Справка
  • Свежие правки
  • Новые страницы
  • Служебные страницы
  • English

This view

  • Original page
  • New address

GeezerVison is showing ru.wikipedia.org — WinUSB — Википедия

В статье есть список источников, но не хватает сносок.
Без сносок сложно определить, из какого источника взято каждое отдельное утверждение. Вы можете улучшить статью, проставив сноски на источники, подтверждающие информацию. Сведения без сносок могут быть удалены. (4 января 2016)

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-класс (USB communications device class). CDC-устройство может выступать как виртуальный последовательный порт для использования нового устройства с устаревшими приложениями или для простоты создания новых приложений и устройств теми, кто не знаком с USB на уровне программирования.

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

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

Ссылки

  • How to Use WinUSB to Communicate with a USB Device . Microsoft (5 декабря 2007). Дата обращения: 9 июля 2008. Архивировано 8 апреля 2012 года.
  • WinUSB . Microsoft Developer Network. Дата обращения: 9 июля 2008. Архивировано 12 июня 2013 года.
  • USB 2.0 Specification  (недоступная ссылка — история). USB Implementers Forum, Inc. (15 марта 2007). Дата обращения: 27 марта 2007. Новые версии спецификаций можно найти на USB.org
Источник — https://ru.wikipedia.org/w/index.php?title=WinUSB&oldid=148320997
Категория:
  • USB
Скрытые категории:
  • Википедия:Статьи без сносок с января 2016 года
  • Википедия:Статьи без сносок
  • Википедия:Cite web (заменить webcitation-архив: deadlink no)
  • Википедия:Cite web (не указан язык)
  • Википедия:Cite web (недоступные ссылки без архивной копии)
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.