PCAM_PROCESS_PACKET_ROUTINE función de devolución de llamada (usbcamdi.h)
[CamProcessUSBPacket no se admite y puede modificarse o no estar disponible en el futuro. En su lugar, use CamProcessUSBPacketEx. ]
La función de devolución de llamada CamProcessUSBPacket de una minidriver de cámara procesa un paquete USB.
Sintaxis
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
)
{...}
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 de marco del minidriver.
SyncPacket
Puntero a una estructura de USBD_ISO_PACKET_DESCRIPTOR desde la canalización de sincronización. Este valor es NULL si la interfaz tiene solo una canalización.
SyncBuffer
Puntero a los datos del SyncPacket.
DataPacket
Puntero a una estructura USBD_ISO_PACKET_DESCRIPTOR de la canalización de datos.
DataBuffer
Puntero a DataPacket.
FrameComplete
Puntero a un valor BOOLEAN que establece el minidriver de cámara para indicar si este es el primer paquete de datos para un nuevo fotograma de vídeo. Se establece en TRUE si se trata del primer paquete de datos para una nueva trama de vídeo.
NextFrameIsStill
Puntero a un valor BOOLEAN que el minidriver de cámara establece para indicar si el siguiente fotograma es un fotograma todavía o no. Este valor debe establecerse en FALSE si la secuencia de vídeo proporciona una imagen en directo o TRUE si el siguiente fotograma es una imagen fija o una secuencia de captura de imágenes.
Valor devuelto
Esta función de devolución de llamada devuelve un ULONG que indica el número de bytes que se deben copiar en el búfer (RawFrameBuffer o FrameBuffer).
Comentarios
Los minicontroladores de cámara que deben mantener la compatibilidad con versiones anteriores con el USBCAMD original deben usar la estructura USBCAMD_DEVICE_DATA y sus funciones de devolución de llamada asociadas (es decir, las funciones de devolución de llamada que no contienen el sufijo "Ex").
El minidriver debe completar esta función lo antes posible. El procesamiento de imágenes debe aplazarse a la función CamProcessRawVideoFrame .
Esta función es opcional.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | usbcamdi.h (incluye Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |