DXGK_TIMED_OPERATION_INTERFACE 構造体 (dispmprt.h)

DXGK_TIMED_OPERATION_INTERFACE構造体には、表示ポート ドライバーによって実装される Timed 操作インターフェイスの関数へのポインターが含まれています。

構文

typedef struct _DXGK_TIMED_OPERATION_INTERFACE {
  USHORT                 Size;
  USHORT                 Version;
  PVOID                  Context;
  PINTERFACE_REFERENCE   InterfaceReference;
  PINTERFACE_DEREFERENCE InterfaceDereference;
  NTSTATUS((DXGK_TIMED_OPERATION *Op, const LARGE_INTEGER *Timeout,BOOLEAN OsHandled)              * )TimedOperationStart;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Interval)              * )TimedOperationDelay;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,PVOID Object,KWAIT_REASON WaitReason,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Timeout)              * )TimedOperationWaitForSingleObject;
} DXGK_TIMED_OPERATION_INTERFACE, *PDXGK_TIMED_OPERATION_INTERFACE;

メンバー

Size

この構造体のサイズ (バイト単位)。

Version

Timed Operation Interface のバージョン番号。 バージョン番号定数は Dispmprt.h で定義されます (たとえば、DXGK_TIMED_OPERATION_INTERFACE_VERSION_1)。

Context

表示ポート ドライバーによって提供されるコンテキストへのポインター。

InterfaceReference

表示ポート ドライバーによって実装されるインターフェイス参照関数へのポインター。

InterfaceDereference

表示ポート ドライバーによって実装されるインターフェイス逆参照関数へのポインター。

TimedOperationStart

TimedOperationStart 関数は、時間指定操作を開始または再開します。

ドライバーは、Op パラメーターによって指されるDXGK_TIMED_OPERATION構造体の Size メンバーを sizeof(DXGK_TIMED_OPERATION) に事前設定する必要があります。 TimedOperationStart のパラメーターの説明を次に示します。

  • [out] Op は、開始または再起動する時間指定操作を記述する DXGK_TIMED_OPERATION 構造体へのポインターです。

  • [入力] Timeout は、タイムアウト操作が完了するために割り当てられた相対時間を指定するタイムアウト値 (100 ナノ秒単位) へのポインターです。

  • [入力] OsHandled は、オペレーティング システムがタイムアウト条件を処理するかどうかを指定するブール値です。 TRUE の値は、ドライバーがタイムアウト状態を処理するための合理的な方法がないことを示し、オペレーティング システムがタイムアウト状態を処理できるようにします。FALSE は、ドライバーがタイムアウト状態を処理することを示します。

TimedOperationDelay

TimedOperationDelay 関数は、指定されたタイムアウト操作のタイムアウトに関して、特定の間隔に対して、現在のスレッドをアラート可能または非アラート可能な待機状態にします。TimedOperationDelay のパラメーターの説明は次のとおりです。

  • [入力/出力] Op は、遅延する時間指定操作を記述する DXGK_TIMED_OPERATION 構造体へのポインターです。 この時間指定操作は、 TimedOperationStart 関数の呼び出しによって開始されました。

  • [入力] WaitMode は、ドライバーが待機するプロセッサ モードを指定するKPROCESSOR_MODE型の値です。 値には、 KernelMode または UserMode のいずれかを指定できます。 スタック内の下位レベルのドライバーでは、 KernelMode を指定する必要があります。

  • [入力] Alertable は、待機がアラート可能かどうかを指定するブール値です。 値 TRUE は、待機が警告可能であることを示します。FALSE は、待機が非変更可能であることを示します。 スタック内の下位レベルのドライバーは FALSE を指定する必要があります。

  • [入力] Interval は、遅延の相対時間 (100 ナノ秒単位) を含む変数へのポインターです。 値の符号は無視されます。

TimedOperationWaitForSingleObject

TimedOperationWaitForSingleObject 関数は、指定されたディスパッチャー オブジェクトがシグナル状態に設定されるまで、または必要に応じて、待機がタイムアウトするまで、または特定のタイムアウト操作のタイムアウトが切れるまで、現在のスレッドを待機状態にします。 TimedOperationWaitForSingleObject のパラメーターの説明は次のとおりです。

  • [入力] Op は、待機状態に入れる時間指定操作を記述する DXGK_TIMED_OPERATION 構造体へのポインターです。 この時間指定操作は、 TimedOperationStart 関数の呼び出しによって開始されました。

  • オブジェクト は、呼び出し元がストレージを提供する初期化されたディスパッチャー オブジェクトへのポインターです。 ディスパッチャー オブジェクトには、イベント、ミューテックス、セマフォ、スレッド、タイマーを指定できます。

  • WaitReason は、待機の理由を指定するKWAIT_REASON型指定の値です。 ドライバーは、この値を Executive に設定するか、ドライバーがユーザーの代わりに作業を行っていて、ユーザー スレッドのコンテキストで実行されている場合は UserRequest に設定する必要があります。

  • WaitMode は、ドライバーが待機するプロセッサ モードを指定するKPROCESSOR_MODE型の値です。 値には、 KernelMode または UserMode のいずれかを指定できます。 最下位レベルのドライバーと中間ドライバーでは 、KernelMode を指定する必要があります。 Object パラメーターが指すオブジェクトがミューテックスの場合、呼び出し元は KernelMode を指定する必要があります。

  • Alertable は、待機がアラート可能かどうかを指定するブール値です。 値 TRUE は、待機が警告可能であることを示します。FALSE は、待機が非変更可能であることを示します。

  • Timeout は、待機が完了するまでの相対時間 (100 ナノ秒単位) を含む変数へのポインターです。 値の符号は無視されます。

注釈

ディスプレイ ミニポート ドライバーは、この構造体の Size メンバーと Version メンバーを提供し、 DxgkCbQueryServices を呼び出し、この構造体の残りのメンバーを入力します。

要件

要件
サポートされている最小のクライアント Windows Vista
Header dispmprt.h (Dispmprt.h を含む)

こちらもご覧ください

DXGK_TIMED_OPERATION

DxgkCbQueryServices