Partager via


Bibliothèque de mini-lecteur USBCAMD

USBCAMD2 est une bibliothèque minidriver en mode noyau qui simplifie le développement de pilotes pour les caméras de streaming usb. Le USBCAMD2 bibliothèque minidriver s’interface avec la classe Stream (stream.sys) et les pilotes de bus USB afin que vous puissiez vous concentrer sur l’implémentation de la prise en charge des propriétés de l’appareil photo et du traitement des images.

Microsoft a publié la bibliothèque de mini-lecteur USBCAMD d’origine avec le Kit de développement de pilotes (DDK) Microsoft Windows 98. La bibliothèque d’origine a été mise à jour pour USBCAMD2 dans les Kits de développement logiciel (SDK) Windows Server 2003, Windows XP et Windows 2000, ainsi que dans le Kit de pilotes Windows (WDK). USBCAMD2 ajoute de nouvelles fonctionnalités pour assurer la prise en charge des broches fixes, de la gestion de l’alimentation (par exemple, la mise en veille prolongée) et des versions étendues des API d’origine.

En plus de la bibliothèque de mini-lecteur USBCAMD2, Microsoft fournit également le pilote DE classe VIDÉO USB (UVC) pour prendre en charge les caméras USB. UVC prend en charge un sur-ensemble de fonctionnalités dans USBCAMD2. Microsoft recommande d’utiliser le pilote UVC pour tous les nouveaux développements matériels. Si, toutefois, la conception matérielle ne peut pas être modifiée pour être conforme à UVC, vous devez écrire un USBCAMD2 minidriver.

La bibliothèque minidriver gère le flux de données sur le bus USB à partir de l’appareil, ce qui inclut la gestion des problèmes de démarrage, d’arrêt, de synchronisation et de récupération d’erreurs associés à la maintenance du flux sur le bus USB. USBCAMD2 appelle des fonctions de rappel implémentées par le fournisseur pour gérer des opérations spécifiques au matériel, telles que la prise en charge des propriétés de diffusion en continu du noyau, la sélection d’autres paramètres d’interface USB et la décompression et le traitement des images.

Le minidriver de l’appareil photo est responsable des tâches suivantes :

  • Implémentation de la prise en charge des propriétés de diffusion en continu du noyau, telles que PROPSETID_VIDCAP_VIDEOPROCAMP et PROPSETID_VIDCAP_CAMERACONTROL.

  • Déterminer si le flux de données est valide et fait partie de l’image vidéo actuelle ou suivante dans la fonction de rappel CamProcessUSBPacketEx du minidriver de l’appareil photo.

  • Extraction des images vidéo du flux et traitement sur les images vidéo avant qu’elles ne soient retournées à l’application appelante dans la fonction de rappel CamProcessRawVideoFrameEx du minidriver de l’appareil photo.

La bibliothèque de mini-lecteur USBCAMD d’origine est prise en charge sur Windows 98 en tant que usbcamd.sys, mais n’est pas prise en charge sur Windows 2000. USBCAMD2 est pris en charge sur Windows 2000 et versions ultérieures et sur Windows Millennium Edition et versions ultérieures en tant que usbcamd.sysand usbcamd2.sys. Ni la bibliothèque de mini-lecteur USBCAMD d’origine ni USBCAMD2 ne sont prises en charge sur les plateformes 64 bits.

Pour les systèmes d’exploitation Windows 2000 et versions ultérieures et Windows Millennium Edition et versions ultérieures, les fournisseurs de caméras doivent utiliser la bibliothèque USBCAMD2 mini-lecteur au lieu de la bibliothèque d’origine pour développer des mini-disques photo.

Vous pouvez utiliser l’exemple de minidriver usbintel comme point de départ. Cet exemple est disponible dans le Kit de développement de pilotes (DDK) et le Kit de pilotes Windows (WDK) pour Windows XP à Windows 7 (build 7600). WdK installe cet exemple sur src\wdm\videocap\usbintel (s’il a été sélectionné comme option d’installation).

Ressources supplémentaires

Les développeurs doivent se familiariser avec le matériel de streaming de noyau, de minidrivers de streaming et de périphériques de capture vidéo.

Pour plus d’informations sur les développeurs, y compris les spécifications USB, consultez Zone des développeurs USB-IF.

Pour plus d’informations générales ou pour les consommateurs, consultez Forum des implémenteurs USB.