DXGK_TIMED_OPERATION_INTERFACE構造体 (dispmprt.h)
DXGK_TIMED_OPERATION_INTERFACE 構造体には、表示ポート ドライバーによって実装される時間指定操作インターフェイスの関数へのポインターが含まれています。
構文
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
時間指定操作インターフェイスのバージョン番号。 バージョン番号定数は、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 構造体へのポインターです。
[入力] タイムアウト は、タイムアウトした操作が完了するために割り当てられた相対時間を指定するタイムアウト値 (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 は、待機が非変更可能であることを示します。
タイムアウト は、待機が完了するまでの相対時間 (100 ナノ秒単位) を含む変数へのポインターです。 値の符号は無視されます。
備考
ディスプレイ ミニポート ドライバーは、この構造体の Size と Version メンバーを提供し、この構造体の残りのメンバーを埋める DxgkCbQueryServices呼び出します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
ヘッダー | dispmprt.h (Dispmprt.h を含む) |
関連項目
DxgkCbQueryServicesの