WinUSB
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | Майкрософт |
---|---|
Операционная система | Microsoft Windows |
Тип | Драйвер устройства |
Веб-сайт | MSDN |
WinUSB — это универсальный USB драйвер , предоставляемый Microsoft для операционных систем, начиная с Windows Vista , но также доступный для Windows XP. Он предназначен для простых устройств, к которым одновременно обращается только одно приложение (например, такие инструменты, как метеостанции, устройства, которым требуется только диагностическое соединение или для обновления прошивки). Это позволяет приложению напрямую обращаться к устройству через простую программную библиотеку . Библиотека обеспечивает доступ к трубам устройства. WinUSB предоставляет клиентский API, который позволяет разработчикам работать с USB-устройствами в пользовательском режиме. Начиная с Windows 7, устройства USB MTP используют WinUSB вместо драйвера фильтра режима ядра.
Преимущества и недостатки
[ редактировать ]Преимущества
[ редактировать ]- Не требует знаний для написания драйвера
- Ускоряет разработку
Недостатки
[ редактировать ]- Только одно приложение может получить доступ к устройству одновременно
- Не поддерживает изохронную передачу до Windows 8.1.
- Не поддерживает сброс через USB (например, как того требует протокол DFU)
- В других операционных системах устройству по-прежнему требуется специальный драйвер.
ВКИД
[ редактировать ]Устройство WCID, где WCID означает «Windows-совместимый идентификатор», представляет собой USB-устройство, которое предоставляет дополнительную информацию системе Windows, чтобы облегчить автоматическую установку драйверов и, в большинстве случаев, обеспечить немедленный доступ. WCID позволяет использовать устройство приложению Windows практически сразу после его подключения, в отличие от обычного сценария, когда USB-устройство, не являющееся ни HID, ни Mass Storage, требует от конечных пользователей выполнения установки драйвера вручную. Таким образом, WCID может обеспечить функциональность HID и Mass Storage по принципу «подключи и работай» на любом USB-устройстве (на котором установлена прошивка с поддержкой WCID). WCID является расширением функциональности устройства WinUSB. [1]
Другие решения
[ редактировать ]Одним из решений является использование предопределенного класса USB-устройства . Для некоторых из них операционные системы предоставляют встроенные драйверы. Наиболее широко используемый класс устройств для встраиваемых устройств — это класс устройств связи USB (CDC). Устройство CDC может выглядеть как виртуальный последовательный порт , чтобы упростить использование нового устройства для старых приложений.
Другое решение — UsbDk . UsbDk поддерживает все типы устройств, включая изохронные, и обеспечивает более простой способ получения доступа к устройствам, не требующий создания и установки INF-файлов . UsbDk имеет открытый исходный код , поддерживается сообществом и работает на всех версиях Windows, начиная с Windows XP.
Если предыдущие решения не подходят, можно написать собственный драйвер. В более новых версиях Microsoft Windows это можно сделать с помощью Windows Driver Foundation .
Ссылки
[ редактировать ]- ^ "pbatard/libwdi" . Гитхаб . Проверено 14 мая 2020 г.
- «Как использовать WinUSB для связи с USB-устройством» . Майкрософт. 05.12.2007. Архивировано из оригинала 28 августа 2008 года . Проверено 9 июля 2008 г.
- «ВинЮСБ» . Сеть разработчиков Microsoft . Проверено 7 июля 2010 г.
- «Спецификация USB 2.0» . Форум разработчиков USB, Inc. 15 марта 2007 г. Проверено 27 марта 2007 г. Последнюю версию можно найти на USB.org.