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. ]
La fonction de rappel CamProcessUSBPacket d’un minidriver d’appareil photo 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 d’appareil du minidriver de l’appareil photo créé par le hub USB.
DeviceContext
Pointeur vers le contexte d’appareil du minidriver de l’appareil photo.
CurrentFrameContext
Pointeur vers le contexte du cadre 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 que le minidriver de l’appareil photo définit pour indiquer s’il s’agit du premier paquet de données pour une nouvelle image vidéo. Définissez sur TRUE s’il s’agit du premier paquet de données pour une nouvelle image vidéo.
NextFrameIsStill
Pointeur vers une valeur BOOLEAN que le minidriver de l’appareil photo définit pour indiquer si le cadre suivant est un cadre fixe ou non. Cette valeur doit être définie sur FALSE si le flux vidéo fournit une image en direct ou TRUE si l’image suivante est une image fixe ou un flux de capture d’image.
Valeur retournée
Cette fonction de rappel retourne un ULONG qui indique le nombre d’octets à copier dans la mémoire tampon (RawFrameBuffer ou FrameBuffer).
Remarques
Les minidrivers d’appareil photo 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 (c’est-à-dire les fonctions de rappel qui ne contiennent pas le suffixe « Ex »).
Le minidriver doit effectuer cette fonction aussi rapidement que possible. Le traitement de l’image doit être différé à la fonction CamProcessRawVideoFrame .
Cette fonction est facultative.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | usbcamdi.h (incluez Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |