PCAM_PROCESS_RAW_FRAME_ROUTINE función de devolución de llamada (usbcamdi.h)

[CamProcessRawVideoFrame no se admite y puede modificarse o no estar disponible en el futuro. En su lugar, use CamProcessRawVideoFrameEx. ]

La función de devolución de llamada CamProcessRawVideoFrame de un minidriver de cámara descodifica un fotograma de vídeo sin formato.

Sintaxis

PCAM_PROCESS_RAW_FRAME_ROUTINE PcamProcessRawFrameRoutine;

NTSTATUS PcamProcessRawFrameRoutine(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID FrameContext,
  PVOID FrameBuffer,
  ULONG FrameLength,
  PVOID RawFrameBuffer,
  ULONG RawFrameLength,
  ULONG NumberOfPackets,
  PULONG BytesReturned
)
{...}

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.

FrameContext

Puntero al contexto de fotogramas del minidriver de la cámara.

FrameBuffer

Puntero al búfer que recibe el fotograma de vídeo procesado final. Consulte la sección Comentarios para obtener más información sobre cómo USBCAMD usa este parámetro.

FrameLength

Especifica la longitud del búfer de fotogramas (de la solicitud de lectura original) en bytes.

RawFrameBuffer

Puntero al búfer que contiene los paquetes USB recibidos. Consulte la sección Comentarios para obtener más información sobre cómo USBCAMD usa este parámetro.

RawFrameLength

Especifica la longitud de RawFrameBuffer en bytes.

NumberOfPackets

Especifica el número de paquetes USB recibidos en RawFrameBuffer.

BytesReturned

Puntero al número de bytes transferidos. El minidriver debe establecerlo en cero si encuentra errores durante el procesamiento, como se describe en Data Flow Uso de canalizaciones isócrónicas. Consulte la sección Comentarios para obtener más información sobre cómo USBCAMD usa este parámetro.

Valor devuelto

CamProcessRawVideoFrame devuelve STATUS_SUCCESS o un código de error adecuado.

Comentarios

Antes de que USBCAMD llame a la devolución de llamada CamProcessRawVideoFrame del minidriver, establece el primer DWORD en el búfer al que apunta el parámetro FrameBuffer al valor 0xdeadbeef. Después de llamar al USBCAMD de devolución de llamada CamProcessRawVideoFrame del minidriver comprueba el primer DWORD del búfer al que apunta el parámetro FrameBuffer para el valor 0xdeadbeef para determinar si CamProcessRawVideoFrame copió correctamente el fotograma de vídeo del búfer al que apunta el parámetro RawFrameBuffer en el búfer al que apunta el parámetro FrameBuffer .

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").

Esta función es opcional.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado usbcamdi.h (incluye Usbcamdi.h)
IRQL PASSIVE_LEVEL

Consulte también

CamProcessRawVideoFrameEx