Freigeben über


PCAM_PROCESS_PACKET_ROUTINE Rückruffunktion (usbcamdi.h)

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

Die Rückruffunktion CamProcessUSBPacket eines Kamera-Minidrivers verarbeitet ein USB-Paket.

Syntax

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

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.

CurrentFrameContext

Zeiger auf den Framekontext des Minitreibers.

SyncPacket

Zeiger auf eine USBD_ISO_PACKET_DESCRIPTOR-Struktur aus der Synchronisierungspipe. Dieser Wert ist NULL , wenn die Schnittstelle nur über eine Pipe verfügt.

SyncBuffer

Zeiger auf die Daten für das SyncPacket.

DataPacket

Zeiger auf eine USBD_ISO_PACKET_DESCRIPTOR-Struktur aus der Data Pipe.

DataBuffer

Zeiger auf DataPacket.

FrameComplete

Zeiger auf einen BOOLESCHEN Wert, den der Kamera-Minitreiber festlegt, um anzugeben, ob dies das erste Datenpaket für einen neuen Videoframe ist. Legen Sie auf TRUE fest, wenn dies das erste Datenpaket für einen neuen Videoframe ist.

NextFrameIsStill

Zeiger auf einen BOOLESCHEN Wert, den der Kamera-Minidriver festlegt, um anzugeben, ob der nächste Frame ein Standbild ist oder nicht. Dieser Wert sollte auf FALSE festgelegt werden, wenn der Videostream ein Livebild bereitstellt, oder TRUE , wenn der nächste Frame ein Standbild oder ein Bildaufnahmestream ist.

Rückgabewert

Diese Rückruffunktion gibt eine ULONG zurück, die die Anzahl der Bytes angibt, die in den Puffer (RawFrameBuffer oder FrameBuffer) kopiert werden sollen.

Hinweise

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.

Der Minidriver sollte diese Funktion so schnell wie möglich erledigen. Die Bildverarbeitung sollte auf die CamProcessRawVideoFrame-Funktion zurückgestellt werden.

Diese Funktion ist optional.

Anforderungen

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

Weitere Informationen

CamProcessRawVideoFrame

CamProcessUSBPacketEx

USBD_ISO_PACKET_DESCRIPTOR