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