Freigeben über


PCAM_PROCESS_RAW_FRAME_ROUTINE Rückruffunktion (usbcamdi.h)

[CamProcessRawVideoFrame wird nicht unterstützt und kann in Zukunft geändert oder nicht verfügbar sein. Verwenden Sie stattdessen CamProcessRawVideoFrameEx. ]

Die CamProcessRawVideoFrame eines Kamera-Minidrivers Rückruffunktion decodiert einen rohen Videoframe.

Syntax

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
)
{...}

Parameter

BusDeviceObject

Zeiger auf das Geräteobjekt des Kameraminidrivers, das vom USB-Hub erstellt wurde.

DeviceContext

Zeigen Sie auf den Gerätekontext des Kamera-Minidrivers.

FrameContext

Zeigen Sie auf den Framekontext des Kamera-Minidrivers.

FrameBuffer

Zeigen Sie auf den Puffer, der den endgültig verarbeiteten Videoframe empfängt. Weitere Informationen dazu, wie USBCAMD diesen Parameter verwendet, finden Sie im Abschnitt "Hinweise".

FrameLength

Gibt die Länge des Framepuffers (aus der ursprünglichen Leseanforderung) in Bytes an.

RawFrameBuffer

Zeigen Sie auf den Puffer, der die empfangenen USB-Pakete enthält. Weitere Informationen dazu, wie USBCAMD diesen Parameter verwendet, finden Sie im Abschnitt "Hinweise".

RawFrameLength

Gibt die Länge RawFrameBuffer- in Byte an.

NumberOfPackets

Gibt die Anzahl der IN RawFrameBufferempfangenen USB-Pakete an.

BytesReturned

Zeiger auf die Anzahl der übertragenen Bytes. Der Minidriver muss dies auf Null festlegen, wenn während der Verarbeitung Fehler auftreten, wie in Data Flow Using Isochronous Pipesbeschrieben. Weitere Informationen dazu, wie USBCAMD diesen Parameter verwendet, finden Sie im Abschnitt "Hinweise".

Rückgabewert

CamProcessRawVideoFrame gibt STATUS_SUCCESS oder einen entsprechenden Fehlercode zurück.

Bemerkungen

Bevor USBCAMD den CamProcessRawVideoFrame Callback des Minidrivers aufruft, wird das erste DWORD im Puffer festgelegt, auf den der FrameBuffer Parameter verweist, auf den Wert 0xdeadbeef. Nach dem Aufruf des CamProcessRawVideoFrame Callback-USBCAMD überprüft das erste DWORD im Puffer, auf das der FrameBuffer Parameter verweist, auf den der Wert 0xdeadbeef ermitteln Sie, ob CamProcessRawVideoFrame den Videoframe erfolgreich aus dem Puffer kopiert hat, auf den der RawFrameBuffer Parameter in den Puffer verweist, auf den der FrameBuffer Parameter verweist.

Kamera-Minidriver, die die Abwärtskompatibilität mit der ursprünglichen USBCAMD beibehalten müssen, müssen die USBCAMD_DEVICE_DATA Struktur und die zugehörigen Rückruffunktionen verwenden (d. a. Rückruffunktionen, die nicht das Suffix "Ex" enthalten).

Diese Funktion ist optional.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- usbcamdi.h (include Usbcamdi.h)
IRQL- PASSIVE_LEVEL

Siehe auch

CamProcessRawVideoFrameEx