PCAM_PROCESS_PACKET_ROUTINE_EX Rückruffunktion (usbcamdi.h)

Die Rückruffunktion CamProcessUSBPacketEx eines Kamera-Minitreibers verarbeitet ein USB-Paket.

Syntax

PCAM_PROCESS_PACKET_ROUTINE_EX PcamProcessPacketRoutineEx;

ULONG PcamProcessPacketRoutineEx(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID CurrentFrameContext,
  PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
  PVOID SyncBuffer,
  PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
  PVOID DataBuffer,
  PBOOLEAN FrameComplete,
  PULONG PacketFlag,
  PULONG ValidDataOffset
)
{...}

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 Kamera-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

Gibt den isochronen Paketdeskriptor aus data pipe an.

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.

PacketFlag

Zeiger auf einen Wert, den der Minitreiber festlegt, um den Inhalt des aktuellen Frames anzugeben. Es sollte auf einen der folgenden Werte festgelegt werden:

Flag Bedeutung
USBCAMD_PROCESSPACKETEX_DropFrame Der aktuelle Frame kann nicht verwüstet werden. Der Lese-IRP sollte wiederverwendet werden.
USBCAMD_PROCESSPACKETEX_NextFrameIsStill Der Frame ist ein Standbild.
USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill Der aktuelle Frame ist für die noch-Pin.

ValidDataOffset

Zeiger auf einen ULONG-Wert, der einen Offset vom Anfang des Pakets angibt. USBCAMD sollte die Kopie von diesem Offset starten. Dadurch entfällt die zusätzliche Pufferkopie im Fall eines In-Band-Signals. Wenn die Kamera keine In-Band-Signalisierung verwendet, sollte ValidDataOffset auf Null festgelegt werden.

Rückgabewert

Diese Funktion gibt die Anzahl der Bytes zurück, die kopiert werden sollen.

Hinweise

Der Minidriver sollte seine CamProcessUSBPacketEx-Funktion so schnell wie möglich abschließen. Die Bildverarbeitung sollte auf die CamProcessRawVideoFrameEx-Funktion zurückgestellt werden.

Diese Rückruffunktion wird nur für isochrone Pipes (Video- oder Noch-Streaming) verwendet.

Die ursprüngliche USBCAMD ruft CamProcessUSBPacketEx nicht auf.

Diese Funktion ist optional.

Anforderungen

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

Weitere Informationen

CamProcessRawVideoFrameEx

USBD_ISO_PACKET_DESCRIPTOR