PCAM_PROCESS_RAW_FRAME_ROUTINE回呼函式 (usbcamdi.h)
[CamProcessRawVideoFrame 不受支持,未來可能會變更或無法使用。 請改用 CamProcessRawVideoFrameEx。 ]
相機迷你驅動程式的 CamProcessRawVideoFrame 回呼函式會譯碼原始視訊畫面。
語法
PCAM_PROCESS_RAW_FRAME_ROUTINE PcamProcessRawFrameRoutine;
NTSTATUS PcamProcessRawFrameRoutine(
PDEVICE_OBJECT BusDeviceObject,
PVOID DeviceContext,
PVOID FrameContext,
PVOID FrameBuffer,
ULONG FrameLength,
PVOID RawFrameBuffer,
ULONG RawFrameLength,
ULONG NumberOfPackets,
PULONG BytesReturned
)
{...}
參數
BusDeviceObject
USB 中樞所建立相機迷你驅動程式裝置物件的指標。
DeviceContext
相機迷你驅動程式裝置內容的指標。
FrameContext
相機迷你驅動程式框架內容的指標。
FrameBuffer
接收最終處理視訊畫面之緩衝區的指標。 如需 USBCAMD 如何使用此參數的詳細資訊,請參閱一節。
FrameLength
以位元組為單位指定框架緩衝區的長度(來自原始讀取要求)。
RawFrameBuffer
包含已接收 USB 封包之緩衝區的指標。 如需 USBCAMD 如何使用此參數的詳細資訊,請參閱一節。
RawFrameLength
指定 RawFrameBuffer 位元組的長度。
NumberOfPackets
指定接收到 RawFrameBuffer的 USB 封包數目。
BytesReturned
傳輸位元組數目的指標。 如果迷你驅動程式在處理期間遇到任何錯誤,則minidriver必須將此設定為零,如使用異時制管道 資料流中所述,。 如需 USBCAMD 如何使用此參數的詳細資訊,請參閱一節。
傳回值
CamProcessRawVideoFrame 會傳回STATUS_SUCCESS或適當的錯誤碼。
言論
在 USBCAMD 呼叫 minidriver 的 CamProcessRawVideoFrame 回呼之前,它會將 FrameBuffer 所指向之緩衝區中的第一個 DWORD 設定為值 0xdeadbeef。 呼叫 minidriver 的 CamProcessRawVideoFrame 回呼 USBCAMD 會檢查 FrameBuffer 參數所指向之緩衝區中的第一個 DWORD,以判斷值 0xdeadbeef 如果 CamProcessRawVideoFrame 成功從 RawFrameBuffer 參數指向的緩衝區複製視訊畫面,則為 FrameBuffer 參數所指向的緩衝區。
必須維持與原始 USBCAMD 回溯相容性的相機迷你驅動程式必須使用 USBCAMD_DEVICE_DATA 結構和其相關聯的回呼函式(也就是不包含 “Ex” 後綴的回呼函式)。
此函式是選擇性的。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | usbcamdi.h (包括 Usbcamdi.h) |
IRQL | PASSIVE_LEVEL |