PCAM_PROCESS_PACKET_ROUTINE_EX funzione di callback (usbcamdi.h)
La funzione di callback CamProcessUSBPacketEx di un minidriver della fotocamera elabora un pacchetto USB.
Sintassi
PCAM_PROCESS_PACKET_ROUTINE_EX PcamProcessPacketRoutineEx;
ULONG PcamProcessPacketRoutineEx(
PDEVICE_OBJECT BusDeviceObject,
PVOID DeviceContext,
PVOID CurrentFrameContext,
PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
PVOID SyncBuffer,
PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
PVOID DataBuffer,
PBOOLEAN FrameComplete,
PULONG PacketFlag,
PULONG ValidDataOffset
)
{...}
Parametri
BusDeviceObject
Puntatore all'oggetto dispositivo del minidriver della fotocamera creato dall'hub USB.
DeviceContext
Puntatore al contesto di dispositivo del minidriver della fotocamera.
CurrentFrameContext
Puntatore al contesto del fotogramma del minidriver della fotocamera.
SyncPacket
Puntatore a una struttura USBD_ISO_PACKET_DESCRIPTOR dalla pipe di sincronizzazione. Questo valore è NULL se l'interfaccia ha una sola pipe.
SyncBuffer
Puntatore ai dati per SyncPacket.
DataPacket
Specifica il descrittore di pacchetti isochronous dalla pipe dei dati.
DataBuffer
Puntatore a DataPacket.
FrameComplete
Puntatore a un valore BOOLEAN impostato dal minidriver della fotocamera per indicare se si tratta del primo pacchetto di dati per un nuovo fotogramma video.
PacketFlag
Puntatore a un valore impostato dal minidriver per indicare il contenuto del frame corrente. Deve essere impostato su uno dei valori seguenti:
Contrassegno | Significato |
---|---|
USBCAMD_PROCESSPACKETEX_DropFrame | Il frame corrente non è modificabile. L'IRP letto deve essere riciclato. |
USBCAMD_PROCESSPACKETEX_NextFrameIsStill | Il fotogramma è un'immagine ancora. |
USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill | Il frame corrente è per il segnaposto. |
ValidDataOffset
Puntatore a un valore ULONG che indica un offset dall'inizio del pacchetto. USBCAMD deve avviare la copia da questo offset. In questo modo viene eliminata la copia extra del buffer nel caso di un segnale in banda. Se la fotocamera non usa la segnalazione in banda, ValidDataOffset deve essere impostata su zero.
Valore restituito
Questa funzione restituisce il numero di byte da copiare.
Commenti
Il minidriver deve completare la funzione CamProcessUSBPacketEx il più rapidamente possibile. L'elaborazione delle immagini deve essere posticipata alla funzione CamProcessRawVideoFrameEx .
Questa funzione di callback viene usata solo con pipe isocrone (video o ancora in streaming).
L'USBCAMD originale non chiama CamProcessUSBPacketEx.
Questa funzione è facoltativa.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | usbcamdi.h (include Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per