次の方法で共有


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 を含む)

こちらもご覧ください

CommandCompleteFunction

USBCAMD_INTERFACE

USBCAMD_InitializeNewInterface