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
已傳輸之位元組數目的指標。 如果迷你驅動程式在處理期間遇到任何錯誤,則迷你驅動程序必須將此設定為零,如 使用時差管道的數據流中所述。 如需 USBCAMD 如何使用此參數的詳細資訊,請參閱一節。
傳回值
CamProcessRawVideoFrame 會傳回STATUS_SUCCESS或適當的錯誤碼。
備註
在 USBCAMD 呼叫迷你驅動程式的 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 |