VideoPortWaitForSingleObject 関数 (video.h)

VideoPortWaitForSingleObject 関数は、指定されたディスパッチ オブジェクトがシグナル状態に設定されるまで、または (必要に応じて) 待機がタイムアウトするまで、現在のスレッドを待機状態にします。

構文

VIDEOPORT_API VP_STATUS VideoPortWaitForSingleObject(
  [in] IN PVOID          HwDeviceExtension,
  [in] IN PVOID          Object,
  [in] IN PLARGE_INTEGER Timeout
);

パラメーター

[in] HwDeviceExtension

ミニポート ドライバーのデバイス拡張機能へのポインター。

[in] Object

イベント オブジェクトへのポインター。

[in] Timeout

(省略可能)待機が完了する絶対時間または相対時間を指定するタイムアウト値へのポインター。 負の値は、現在の時刻に対する相対的な待機間隔を指定します。 値は 100 ナノ秒の単位で表す必要があります。 絶対有効期限は、システム時刻の変更を追跡します。相対有効期限は、システム時刻の変更の影響を受けません。

戻り値

VideoPortWaitForSingleObject は 、次のいずれかの値を返します。

リターン コード 説明
ERROR_INVALID_PARAMETER パラメーターの 1 つが無効であるか、または呼び出しがマップされたユーザー イベントを待機しようとしました。
NO_ERROR pObject パラメーターで指定されたイベント オブジェクトが待機を満たしました。
WAIT_TIMEOUT イベント オブジェクトがシグナル状態に設定される前にタイムアウトが発生しました。 この値は、指定した待機条件のセットをすぐに満たすことができないときに返され、Timeout が 0 に設定されている場合に返されます。

注釈

ミニポート ドライバーは、マップされたユーザー イベントを待機しないようにしてください。

VideoPortWaitForSingleObject の呼び出し元は、IRQL <= DISPATCH_LEVELで実行されている必要があります。 通常、呼び出し元は IRQL = PASSIVE_LEVELおよび非ビット スレッド コンテキストで実行されます。 IRQL = DISPATCH_LEVEL で実行中にこの関数を呼び出すと、呼び出し元が タイムアウト 値 0 を指定した場合にのみ有効です。 つまり、ミニポート ドライバーは、IRQL = DISPATCH_LEVELで 0 以外の間隔を待つ必要があります。

要件

要件
サポートされている最小のクライアント Windows XP 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム デスクトップ
Header video.h (Video.h を含む)
Library Videoprt.lib
[DLL] Videoprt.sys
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)