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. ]

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

Voir aussi

CamProcessRawVideoFrame

CamProcessUSBPacketEx

USBD_ISO_PACKET_DESCRIPTOR