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 |