Compartir a través de


Biblioteca de minidriver USBCAMD

USBCAMD2 es una biblioteca de minidriver en modo kernel que simplifica el desarrollo de controladores para cámaras de streaming basadas en USB. La biblioteca de minidriver USBCAMD2 interfaces con la clase Stream (stream.sys) y los controladores de bus USB para que pueda centrarse en implementar la compatibilidad con las propiedades y el procesamiento de imágenes de la cámara.

Microsoft lanzó la biblioteca de minidriver USBCAMD original con el Kit de desarrollo de controladores (DDK) de Microsoft Windows 98. La biblioteca original se actualizó para USBCAMD2 en Windows Server 2003, Windows XP y Windows 2000 DDK y en el Kit de controladores de Windows (WDK). USBCAMD2 agrega nuevas características para proporcionar compatibilidad con patillas fijas, administración de energía (como hibernación) y versiones extendidas de las API originales.

Además de la biblioteca de minidriver USBCAMD2, Microsoft también proporciona el controlador de clase de vídeo USB (UVC) para admitir cámaras basadas en USB. UVC admite un superconjunto de las características en USBCAMD2. Microsoft recomienda usar el controlador UVC para todo el desarrollo de hardware nuevo. Sin embargo, si el diseño de hardware no se puede cambiar para que sea compatible con UVC, debe escribir un minidriver de USBCAMD2.

La biblioteca de minidriver administra el flujo de datos en el bus USB desde el dispositivo, lo que incluye controlar los problemas de inicio, detención, sincronización y recuperación de errores asociados con el mantenimiento de la secuencia en el bus USB. USBCAMD2 llama a funciones de devolución de llamada implementadas por el proveedor para controlar operaciones específicas de hardware, como la compatibilidad con propiedades de streaming de kernel, la selección de la configuración alternativa de la interfaz USB y el descompresión y procesamiento de imágenes.

El minidriver de la cámara es responsable de:

  • Implementar la compatibilidad con las propiedades de streaming de kernel, como PROPSETID_VIDCAP_VIDEOPROCAMP y PROPSETID_VIDCAP_CAMERACONTROL.

  • Determinar si el flujo de datos es válido y parte del fotograma de vídeo actual o siguiente en la función de devolución de llamada CamProcessUSBPacketEx de la cámara minidriver.

  • Extraer fotogramas de vídeo de la secuencia y realizar el procesamiento en fotogramas de vídeo antes de que se devuelvan a la aplicación que realiza la llamada en la función de devolución de llamada CamProcessRawVideoFrameEx de la cámara.

La biblioteca de minidriver USBCAMD original se admite en Windows 98 como usbcamd.sys, pero no se admite en Windows 2000. USBCAMD2 se admite en Windows 2000 y versiones posteriores y en Windows Millennium Edition y versiones posteriores como usbcamd.sysand usbcamd2.sys. Ni la biblioteca de minidriver USBCAMD original ni USBCAMD2 se admiten en plataformas de 64 bits.

Para Windows 2000 y versiones posteriores y windows Millennium Edition y sistemas operativos posteriores, los proveedores de cámaras deben usar la biblioteca de minidriver USBCAMD2 en lugar de la biblioteca original para desarrollar minidrivers de cámara.

Puede usar el minidriver de cámara de ejemplo usbintel como punto de partida. Este ejemplo está disponible en el Kit de desarrollo de controladores (DDK) y el Kit de controladores de Windows (WDK) para Windows XP a través de Windows 7 (compilación 7600). WDK instala este ejemplo en src\wdm\videocap\usbintel (si se seleccionó como opción para instalar).

Recursos adicionales

Los desarrolladores deben familiarizarse con el material de Kernel Streaming, Minidrivers de streaming y dispositivos de captura de vídeo.

Para obtener información adicional para desarrolladores, incluidas las especificaciones USB, consulte Área de desarrolladores de USB-IF.

Para obtener información general o de consumidor, consulte foro de implementadores USB.