Partager via


PCAM_PROCESS_PACKET_ROUTINE fonction de rappel (usbcamdi.h)

[CamProcessUSBPacket n’est pas pris en charge et peut être modifié ou indisponible à l’avenir. Utilisez plutôt CamProcessUSBPacketEx. ]

Un minidriver de caméra CamProcessUSBPacket fonction de rappel traite un paquet USB.

Syntaxe

PCAM_PROCESS_PACKET_ROUTINE PcamProcessPacketRoutine;

ULONG PcamProcessPacketRoutine(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID CurrentFrameContext,
  PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
  PVOID SyncBuffer,
  PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
  PVOID DataBuffer,
  PBOOLEAN FrameComplete,
  PBOOLEAN NextFrameIsStill
)
{...}

Paramètres

BusDeviceObject

Pointeur vers l’objet appareil de minidriver de la caméra créé par le hub USB.

DeviceContext

Pointeur vers le contexte de l’appareil photo minidriver.

CurrentFrameContext

Pointeur vers le contexte de trame du minidriver.

SyncPacket

Pointeur vers une structure USBD_ISO_PACKET_DESCRIPTOR à partir du canal de synchronisation. Cette valeur est NULL si l’interface n’a qu’un seul canal.

SyncBuffer

Pointeur vers les données du SyncPacket.

DataPacket

Pointeur vers une structure USBD_ISO_PACKET_DESCRIPTOR à partir du canal de données.

DataBuffer

Pointeur vers DataPacket.

FrameComplete

Pointeur vers une valeur BOOLEAN définie par le minidriver de la caméra pour indiquer s’il s’agit du premier paquet de données pour une nouvelle image vidéo. Défini sur TRUE s’il s’agit du premier paquet de données pour une nouvelle image vidéo.

NextFrameIsStill

Pointeur vers une valeur BOOLEAN définie par le minidriver de la caméra pour indiquer si le cadre suivant est un cadre toujours ou non. Cette valeur doit être définie sur FALSE si le flux vidéo fournit une image en direct ou TRUE si le cadre suivant est une image toujours ou un flux de capture d’image.

Valeur de retour

Cette fonction de rappel retourne un ULONG qui indique le nombre d’octets qui doivent être copiés dans la mémoire tampon (RawFrameBuffer ou FrameBuffer).

Remarques

Les minidrivers de caméra qui doivent maintenir la compatibilité descendante avec l’USBCAMD d’origine doivent utiliser la structure USBCAMD_DEVICE_DATA et ses fonctions de rappel associées (autrement dit, les fonctions de rappel qui ne contiennent pas le suffixe « Ex »).

Le minidriver doit effectuer cette fonction le plus rapidement possible. Le traitement d’images doit être différé à la fonction CamProcessRawVideoFrame.

Cette fonction est facultative.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête usbcamdi.h (include Usbcamdi.h)
IRQL DISPATCH_LEVEL

Voir aussi

CamProcessRawVideoFrame

CamProcessUSBPacketEx

USBD_ISO_PACKET_DESCRIPTOR