Share via


EngWaitForSingleObject 関数 (winddi.h)

EngWaitForSingleObject 関数は、指定されたイベント オブジェクトがシグナル状態に設定されるまで、または待機がタイムアウトするまで、ディスプレイ ドライバーの現在のスレッドを待機状態にします。

構文

ENGAPI BOOL EngWaitForSingleObject(
  [in] PEVENT         pEvent,
  [in] PLARGE_INTEGER pTimeOut
);

パラメーター

[in] pEvent

初期化されたイベント オブジェクトへのポインター。 このイベント オブジェクト ハンドルは、 EngCreateEvent の以前の呼び出しで取得されました。

[in] pTimeOut

(省略可能)待機が完了する絶対時間または相対時間を指定するタイムアウト値へのポインター。 負の値は、現在の時刻を基準とした間隔を指定します。 この値は、100 ナノ秒の単位で表す必要があります。 絶対有効期限は、システム時刻の変更を追跡します。相対有効期限は、システム時間の変更の影響を受けません。 pTimeOutNULL の場合、呼び出し元のスレッドは、イベント オブジェクトが通知されるまで待機状態のままになります。

戻り値

EngWaitForSingleObject は、タイムアウトの発生を含む TRUE を 成功時に返します。それ以外の場合は、 FALSE を返します。 FALSE の戻り値は、いずれかのパラメーターが無効であることを示します。

解説

EngWaitForSingleObject により、ディスプレイ ドライバー スレッドが待機状態になります。 イベント オブジェクトがシグナル状態に設定されるか、待機がタイムアウトするまで、ディスプレイ ドライバー スレッドは待機状態のままです。タイムアウト値が指定されていない場合、イベント オブジェクトがシグナル状態に設定されるまで、ディスプレイ ドライバー スレッドは待機状態のままになります。

同期イベントは、待機が満たされると、自動的に非署名状態にリセットされます。 したがって、 EngSetEvent または VideoPortSetEvent の呼び出しごとに 1 つの待機のみが満たされます。 これに対し、通知イベントは自動的にリセットされません。

タイムアウト値が 0 の場合、ドライバーは待機条件をテストし、待機をすぐに満たすことができる場合に条件付きで副作用を実行できます。

ディスプレイ ドライバーは、イベント オブジェクトを使用して EngWaitForSingleObject を呼び出し、ミニポート ドライバーがイベント オブジェクトをシグナル状態に設定するまで待機することで、それ自体とビデオ ミニポート ドライバーの間で描画操作を同期できます。

ドライバーは、EngMapEvent から返されたイベントに対して EngWaitForSingleObject を呼び出すことはできません。

要件

   
サポートされている最小のクライアント この関数は、Windows XP 以降で使用できます。
対象プラットフォーム ユニバーサル
Header winddi.h (Winddi.h を含む)
Library Win32k.lib
[DLL] Win32k.sys

関連項目

EngCreateEvent

EngSetEvent

VideoPortSetEvent