次の方法で共有


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 がチェックされ 、CamProcessRawVideoFrameRawFrameBuffer パラメーターが指すバッファーから FrameBuffer パラメーターが指すバッファーにビデオ フレームが正常にコピーされたかどうかを判断します。

元の USBCAMD との下位互換性を維持する必要があるカメラ ミニドライバーは、 USBCAMD_DEVICE_DATA 構造体とそれに関連付けられているコールバック関数 (つまり、"Ex" サフィックスを含まないコールバック関数) を使用する必要があります。

この関数は省略可能です。

要件

要件
対象プラットフォーム デスクトップ
Header usbcamdi.h (Usbcamdi.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

CamProcessRawVideoFrameEx