PCAM_PROCESS_PACKET_ROUTINE Rückruffunktion (usbcamdi.h)
[CamProcessUSBPacket wird nicht unterstützt und kann in Zukunft geändert oder nicht verfügbar sein. Verwenden Sie stattdessen CamProcessUSBPacketEx. ]
Die CamProcessUSBPacket eines Kamera-Minidrivers Rückruffunktion verarbeitet ein USB-Paket.
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
)
{...}
BusDeviceObject
Zeiger auf das Geräteobjekt des Kameraminidrivers, das vom USB-Hub erstellt wurde.
DeviceContext
Zeigen Sie auf den Gerätekontext des Kamera-Minidrivers.
CurrentFrameContext
Zeigen Sie auf den Framekontext des Minidrivers.
SyncPacket
Zeigen Sie auf eine USBD_ISO_PACKET_DESCRIPTOR Struktur aus der Synchronisierungspipeline. Dieser Wert ist NULL-, wenn die Schnittstelle nur über eine Striche verfügt.
SyncBuffer
Zeigen Sie auf die Daten für das SyncPacket.
DataPacket
Zeigen Sie auf eine USBD_ISO_PACKET_DESCRIPTOR Struktur aus der Datenpipeline.
DataBuffer
Zeiger auf DataPacket.
FrameComplete
Zeigen Sie auf einen BOOLESCHEN Wert, den der Kamera-Minidriver festlegt, um anzugeben, ob es sich um das erste Datenpaket für einen neuen Videoframe handelt. Wird auf TRUE- festgelegt, wenn dies das erste Datenpaket für einen neuen Videoframe ist.
NextFrameIsStill
Zeigen Sie auf einen BOOLESCHEN Wert, den der Kamera-Minidriver festlegt, um anzugeben, ob der nächste Frame ein noch-Frame ist oder nicht. Dieser Wert sollte auf FALSE- festgelegt werden, wenn der Videostream ein Livebild bereitstellt, oder TRUE, wenn der nächste Frame ein stilles Bild oder ein Bildaufnahmedatenstrom ist.
Diese Rückruffunktion gibt eine ULONG zurück, die die Anzahl der Bytes angibt, die in den Puffer kopiert werden sollen (RawFrameBuffer oder FrameBuffer).
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).
Der Minidriver sollte diese Funktion so schnell wie möglich abschließen. Die Bildverarbeitung sollte auf die CamProcessRawVideoFrame--Funktion zurückgestellt werden.
Diese Funktion ist optional.
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | usbcamdi.h (include Usbcamdi.h) |
IRQL- | DISPATCH_LEVEL |