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 |