PCAM_PROCESS_PACKET_ROUTINE_EX回呼函式 (usbcamdi.h)
相機迷你驅動程式的 CamProcessUSBPacketEx 回呼函式會處理 USB 封包。
語法
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
)
{...}
參數
BusDeviceObject
USB 中樞所建立相機迷你驅動程式裝置物件的指標。
DeviceContext
相機迷你驅動程式裝置內容的指標。
CurrentFrameContext
相機迷你驅動程式框架內容的指標。
SyncPacket
從同步管道 USBD_ISO_PACKET_DESCRIPTOR 結構的指標。 如果介面只有一個管道,則此值會 NULL。
SyncBuffer
SyncPacket數據的指標。
DataPacket
從數據管道指定不時分的封包描述元。
DataBuffer
DataPacket 的指標。
FrameComplete
相機迷你驅動程式設定的 BOOLEAN 值指標,指出這是新視訊畫面的第一個數據封包。
PacketFlag
迷你驅動程式設定的值指標,指出目前框架的內容。 它應該設定為下列其中一個值:
旗 | 意義 |
---|---|
USBCAMD_PROCESSPACKETEX_DropFrame | 目前的框架無法復原。 讀取 IRP 應該回收。 |
USBCAMD_PROCESSPACKETEX_NextFrameIsStill | 框架是靜止的影像。 |
USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill | 目前框架適用於仍然釘選。 |
ValidDataOffset
ULONG 值的指標,指出封包開頭的位移。 USBCAMD 應該從此位移啟動複本。 如此可排除頻內訊號時的額外緩衝區複製。 如果相機未使用頻內訊號,ValidDataOffset 應設為零。
傳回值
此函式會傳回應該複製的位元元數目。
言論
minidriver 應儘快完成其 CamProcessUSBPacketEx 函式。 影像處理應延後至 CamProcessRawVideoFrameEx 函式。
此回呼函式僅搭配無時針管道使用(視訊或仍在串流)。
原始 USBCAMD 不會呼叫 CamProcessUSBPacketEx。
此函式是選擇性的。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | usbcamdi.h (包括 Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |