Поделиться через


Библиотека мини-накопителя USBCAMD

USBCAMD2 — это библиотека мини-драйверов в режиме ядра, которая упрощает разработку драйверов для потоковых usb-камер. Библиотека USBCAMD2 интерфейсы библиотеки мини-накопителей с классом Stream (stream.sys) и драйверами шины USB, что позволяет сосредоточиться на реализации поддержки свойств камеры и обработки изображений.

Корпорация Майкрософт выпустила исходную библиотеку мини-накопителей USBCAMD с пакетом средств разработки драйверов Microsoft Windows 98 (DDK). Исходная библиотека была обновлена до USBCAMD2 в пакетах DDK windows Server 2003, Windows XP и Windows 2000, а также в комплекте драйверов Windows (WDK). USBCAMD2 добавляет новые функции для поддержки неподвижных контактов, управления питанием (например, гибернации) и расширенных версий исходных API.

В дополнение к библиотеке USBCAMD2 мини-накопителей, корпорация Майкрософт также предоставляет драйвер класса USB Video (UVC) для поддержки usb-камер. UVC поддерживает надмножество функций в USBCAMD2. Корпорация Майкрософт рекомендует использовать драйвер UVC для разработки нового оборудования. Однако если конструкция оборудования не может быть изменена на совместимую с UVC, необходимо написать USBCAMD2 мини-накопителя.

Библиотека мини-накопителя управляет потоком данных на USB-шине с устройства, включая обработку проблем с запуском, остановкой, синхронизацией и восстановлением ошибок, связанных с обслуживанием потока на USB-шине. USBCAMD2 вызывает функции обратного вызова, реализованные поставщиком, для обработки определенных аппаратных операций, таких как поддержка свойств потоковой передачи ядра, выбор альтернативных параметров ИНТЕРФЕЙСА USB, распаковка и обработка изображений.

Мини-отвертка камеры отвечает за:

  • Реализация поддержки свойств потоковой передачи ядра, таких как PROPSETID_VIDCAP_VIDEOPROCAMP и PROPSETID_VIDCAP_CAMERACONTROL.

  • Определяет, является ли поток данных допустимым и является ли текущим или следующим видеокадром в функции обратного вызова CamProcessUSBPacketEx мини-накопителя камеры.

  • Извлечение видеокадров из потока и выполнение обработки видеокадров перед их возвратом в вызывающее приложение в функции обратного вызова CamProcessRawVideoFrameEx мини-накопителя камеры.

Исходная библиотека мини-накопителей USBCAMD поддерживается в Windows 98 как usbcamd.sys, но не поддерживается в Windows 2000. USBCAMD2 поддерживается в Windows 2000 и более поздних версий, а также в Windows Millennium Edition и более поздних версий, как usbcamd.sys и usbcamd2.sys. Ни исходная библиотека мини-драйверов USBCAMD, ни USBCAMD2 не поддерживаются на 64-разрядных платформах.

Для Windows 2000 и более поздних версий, Windows Millennium Edition и более поздних версий поставщики камер должны использовать библиотеку USBCAMD2 мини-накопителей вместо исходной библиотеки для разработки мини-накопителей камер.

В качестве отправной точки можно использовать пример мини-накопителя для камеры usbintel . Этот пример доступен в комплекте средств разработки драйверов (DDK) и комплекте драйверов Windows (WDK) для Windows XP и Windows 7 (сборка 7600). WDK устанавливает этот пример в src\wdm\videocap\usbintel (если он был выбран в качестве параметра для установки).

Дополнительные ресурсы

Разработчики должны ознакомиться с материалом в разделе Потоковая передача ядра, Мини-накопители потоковой передачи и Устройства захвата видео.

Дополнительные сведения для разработчиков, включая спецификации USB, см. в разделе Область разработчиков USB-IF.

Общие сведения или сведения о потребителях см. на форуме разработчиков USB.