PCAM_PROCESS_PACKET_ROUTINE_EX función de devolución de llamada (usbcamdi.h)
Una función de devolución de llamada CamProcessUSBPacketEx de una minidriver de cámara procesa un paquete USB.
Sintaxis
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
)
{...}
Parámetros
BusDeviceObject
Puntero al objeto de dispositivo del minidriver de la cámara creado por el concentrador USB.
DeviceContext
Puntero al contexto del dispositivo del minidriver de la cámara.
CurrentFrameContext
Puntero al contexto del marco del minidriver de la cámara.
SyncPacket
Puntero a una estructura de USBD_ISO_PACKET_DESCRIPTOR desde la canalización de sincronización. Este valor es NULL si la interfaz solo tiene una canalización.
SyncBuffer
Puntero a los datos del SyncPacket.
DataPacket
Especifica el descriptor de paquetes isócrono de la canalización de datos.
DataBuffer
Puntero a DataPacket.
FrameComplete
Puntero a un valor BOOLEAN que el minidriver de cámara establece para indicar si este es el primer paquete de datos para un nuevo fotograma de vídeo.
PacketFlag
Puntero a un valor que establece el minidriver para indicar el contenido del marco actual. Debe establecerse en uno de los siguientes valores:
Marca | Significado |
---|---|
USBCAMD_PROCESSPACKETEX_DropFrame | El marco actual no se puede administrar. El IRP de lectura debe reciclarse. |
USBCAMD_PROCESSPACKETEX_NextFrameIsStill | El marco es una imagen fija. |
USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill | El marco actual es para la patilla fija. |
ValidDataOffset
Puntero a un valor ULONG que indica un desplazamiento desde el principio del paquete. USBCAMD debe iniciar la copia desde este desplazamiento. Esto elimina la copia de búfer adicional en el caso de una señal en banda. Si la cámara no usa señalización en banda, ValidDataOffset debe establecerse en cero.
Valor devuelto
Esta función devuelve el número de bytes que se deben copiar.
Comentarios
El minidriver debe completar su función CamProcessUSBPacketEx lo antes posible. El procesamiento de imágenes debe aplazarse a la función CamProcessRawVideoFrameEx .
Esta función de devolución de llamada se usa solo con canalizaciones isócrónicas (vídeo o streaming todavía).
El USBCAMD original no llama a CamProcessUSBPacketEx.
Esta función es opcional.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | usbcamdi.h (incluya Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |