Partilhar via


Biblioteca de minidriver USBCAMD

USBCAMD2 é uma biblioteca de minidriver no modo kernel que simplifica o desenvolvimento de driver para câmeras de streaming baseadas em USB. O USBCAMD2 interfaces de biblioteca de minidriver com a classe Stream (stream.sys) e drivers de barramento USB para que você possa se concentrar na implementação de suporte para as propriedades da câmera e o processamento de imagens.

A Microsoft lançou a biblioteca de minidriver USBCAMD original com o DDK (Kit de Desenvolvimento de Driver) do Microsoft Windows 98. A biblioteca original foi atualizada para USBCAMD2 nos DDKs do Windows Server 2003, Windows XP e Windows 2000 e no WDK (Windows Driver Kit). USBCAMD2 adiciona novos recursos para fornecer suporte para pinos ainda, gerenciamento de energia (como hibernação) e versões estendidas das APIs originais.

Além da biblioteca de minidriver USBCAMD2, a Microsoft também fornece o driver da classe de vídeo USB (UVC) para dar suporte a câmeras baseadas em USB. O UVC dá suporte a um superconjunto dos recursos no USBCAMD2. A Microsoft recomenda usar o driver UVC para todo o novo desenvolvimento de hardware. No entanto, se o design de hardware não puder ser alterado para ser compatível com UVC, você deverá escrever um minidriver USBCAMD2.

A biblioteca de minidriver gerencia o fluxo de dados no barramento USB do dispositivo, o que inclui lidar com os problemas de início, parada, sincronização e recuperação de erros associados à manutenção do fluxo no barramento USB. USBCAMD2 chama funções de retorno de chamada implementadas pelo fornecedor para lidar com operações específicas de hardware, como suporte à propriedade de streaming de kernel, seleção de configurações alternativas de interface USB e descompactação e processamento de imagem.

O minidriver de câmera é responsável por:

  • Implementando suporte para propriedades de streaming de kernel, como PROPSETID_VIDCAP_VIDEOPROCAMP e PROPSETID_VIDCAP_CAMERACONTROL.

  • Determinando se o fluxo de dados é válido e parte do quadro de vídeo atual ou próximo na função de retorno de chamada CamProcessUSBPacketEx do minidriver da câmera.

  • Extraindo quadros de vídeo do fluxo e executando o processamento em quadros de vídeo antes que eles sejam retornados para o aplicativo de chamada na função de retorno de chamada CamProcessRawVideoFrameEx do minidriver da câmera.

A biblioteca de minidriver USBCAMD original tem suporte no Windows 98 como usbcamd.sys, mas não tem suporte no Windows 2000. USBCAMD2 tem suporte no Windows 2000 e posterior e no Windows Millennium Edition e posterior como usbcamd.sysand usbcamd2.sys. Nem a biblioteca de minidriver USBCAMD original nem USBCAMD2 têm suporte em plataformas de 64 bits.

Para o Windows 2000 e posterior e o Windows Millennium Edition e sistemas operacionais posteriores, os fornecedores de câmera devem usar a biblioteca de minidriver USBCAMD2 em vez da biblioteca original para desenvolver minidrivers de câmera.

Você pode usar o minidriver de câmera de exemplo usbintel como ponto de partida. Este exemplo está disponível no DDK (Driver Development Kit) e no WDK (Windows Driver Kit) para Windows XP por meio do Windows 7 (Build 7600). O WDK instala este exemplo para src\wdm\videocap\usbintel (se ele foi selecionado como uma opção para instalar).

Recursos adicionais

Os desenvolvedores devem se familiarizar com o material em Streaming de Kernel, Minidrivers de Streaming e Dispositivos de Captura de Vídeo.

Para obter informações adicionais do desenvolvedor, incluindo as especificações usb, consulte Área de Desenvolvedores USB-IF.

Para obter informações gerais ou do consumidor, consulte Fórum de implementadores USB.