PFNUSBCAMD_WaitOnDeviceEvent コールバック関数 (usbcamdi.h)
USBCAMD_WaitOnDeviceEvent サービスは、カメラに外部イベント通知用の割り込みパイプがある場合に割り込みパイプからの読み取りを実行するために使用されます。
構文
PFNUSBCAMD_WaitOnDeviceEvent PfnusbcamdWaitondeviceevent;
NTSTATUS PfnusbcamdWaitondeviceevent(
[in] PVOID DeviceContext,
[in] ULONG PipeIndex,
[in] PVOID Buffer,
[in] ULONG BufferLength,
[in] PCOMMAND_COMPLETE_FUNCTION EventComplete,
[in] PVOID EventContext,
[in] BOOLEAN LoopBack
)
{...}
パラメーター
[in] DeviceContext
デバイス固有のコンテキストへのポインター。
[in] PipeIndex
割り込みパイプのインデックスを指定します。
[in] Buffer
読み取りバッファーへのポインター。
[in] BufferLength
読み取りバッファーの長さ (バイト単位)。
[in] EventComplete
カメラ ミニドライバー定義 CommandCompleteFunction へのポインター。割り込みの読み取りが完了したときに呼び出されます。この値は NULL にすることができます。
[in] EventContext
カメラ ミニドライバー定義の CommandCompleteFunction に引数として渡されるメモリ ブロックへのポインター。
[in] LoopBack
USBCAMD が割り込み読み取りが完了するたびに、割り込みパイプに別の読み取り要求を再送信するかどうかを指定します。 TRUE に設定
戻り値
USBCAMD_WaitOnDeviceEventは 、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 その他の考えられるエラー コードは次のとおりです。
リターン コード | 説明 |
---|---|
STATUS_FILE_CLOSED | デバイスは削除されました。 |
STATUS_INVALID_PARAMETER | USBCAMD は、さまざまな理由でSTATUS_INVALID_PARAMETERを返す場合があります。 たとえば、PipeIndex 引数に渡される値が無効です。 PipeIndex 引数で指定されたパイプの種類が無効なパイプの種類、一括読み取り/書き込み要求が既に存在する、 または Buffer 引数が NULL です。 BufferLength 引数で指定された長さは、最大パケット サイズよりも小さくなります。 |
STATUS_PENDING | イベント作業項目は遅延されます。 |
STATUS_INSUFFICIENT_RESOURCES | パイプから読み取る作業項目を割り当てるのに十分なリソースがありません。 |
注釈
この関数の一般的な使用シナリオは、スナップショット ボタンと、ボタンに関連付けられた割り込みパイプを備えたカメラです。 ユーザーが [スナップショット] ボタンを押すと、割り込みパイプの読み取り要求が満たされ、カメラ ミニドライバーが呼び出されます。 カメラ ミニドライバーがUSBCAMD_InitializeNewInterface呼び出し中に CamControlFlag 引数にUSBCAMD_CamControlFlag_EnableDeviceEventsを設定した場合、STI モニターにも スナップショット イベントが通知されます。
USBCAMD_WaitOnDeviceEvent は、USBCAMD バージョン 1.0 では使用できません。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | usbcamdi.h (Usbcamdi.h を含む) |