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
転送されたバイト数へのポインター。 ミニドライバーは、処理中にエラーが発生した場合、これを 0 に設定する必要があります。「等時性パイプ を使用したデータ フロー説明します。 USBCAMD でこのパラメーターを使用する方法の詳細については、「解説」セクションを参照してください。
戻り値
CamProcessRawVideoFrame は、STATUS_SUCCESSまたは適切なエラー コードを返します。
備考
USBCAMD は、ミニドライバーの CamProcessRawVideoFrame コールバックを呼び出す前に、FrameBuffer パラメーターによって指されるバッファー内の最初の DWORD を 0xdeadbeef 値に設定します。 ミニドライバーの CamProcessRawVideoFrame コールバック USBCAMD を呼び出した後、FrameBuffer パラメーターが指すバッファー内の最初の DWORD の値を確認 0xdeadbeef CamProcessRawVideoFrame 、RawFrameBuffer パラメーターが指すバッファーから、FrameBuffer パラメーターが指すバッファーにビデオ フレームを正常にコピーした場合。
元の USBCAMD との下位互換性を維持する必要があるカメラ ミニドライバーは、USBCAMD_DEVICE_DATA 構造体とそれに関連付けられているコールバック関数 (つまり、"Ex" サフィックスを含まないコールバック関数) を使用する必要があります。
この関数は省略可能です。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | usbcamdi.h (Usbcamdi.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
camProcessRawVideoFrameEx の