PCAM_PROCESS_RAW_FRAME_ROUTINE Rückruffunktion (usbcamdi.h)

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

Die Rückruffunktion CamProcessRawVideoFrame eines Kamera-Minitreibers 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 Kamera-Minitreibers, das vom USB-Hub erstellt wurde.

DeviceContext

Zeiger auf den Gerätekontext des Kamera-Minitreibers.

FrameContext

Zeiger auf den Framekontext des Kamera-Minitreibers.

FrameBuffer

Zeiger 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

Zeiger 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 von RawFrameBuffer in Bytes an.

NumberOfPackets

Gibt die Anzahl der USB-Pakete an, die in RawFrameBuffer empfangen werden.

BytesReturned

Zeiger auf die Anzahl der übertragenen Bytes. Der Minitreiber muss diesen Wert auf 0 festlegen, wenn während der Verarbeitung Fehler auftreten, wie in Datenfluss Verwenden isochroner Rohre beschrieben. 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.

Hinweise

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

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

Diese Funktion ist optional.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile usbcamdi.h (einschließlich Usbcamdi.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

CamProcessRawVideoFrameEx