DXGKDDI_PRESENTDISPLAYONLY コールバック関数 (d3dkmddi.h)

カーネル モードの表示専用ドライバー (KMDOD) のディスプレイ デバイスに画面イメージを表示します。

構文

DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;

NTSTATUS DxgkddiPresentdisplayonly(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_PRESENT_DISPLAYONLY pPresentDisplayOnly
)
{...}

パラメーター

hAdapter

ディスプレイ アダプターのデバイス コンテキストへのハンドル。 KMDOD の DxgkDdiAddDevice 関数は、以前に MiniportDeviceContext パラメーターでこのハンドルを返しました。

pPresentDisplayOnly

現在の操作に関する情報を含む DXGKARG_PRESENT_DISPLAYONLY 構造体へのポインター。

戻り値

次の値のいずれか。

リターン コード 説明
STATUS_SUCCESS 現在の操作は正常に完了しました。
STATUS_PENDING 現在の操作は、完了するためにソフトウェアまたはハードウェア キューに送信されました。
この場合、KMDOD は割り込みおよび遅延プロシージャ 呼び出し (DPC) を使用して、現在の操作の進行状況を報告する必要があります。 それ以外の場合、オペレーティング システムは タイムアウト検出と回復 (TDR) プロセスを使用します。これによりエラーが報告され、KMDOD 自体を再初期化して GPU をリセットする必要があります。
「備考」で説明されているように、同期モードではこの状態コードを返さないでください。

 

また、ドライバーは、Ntstatus.h で定義されている他のエラー状態コードを返して、現在の操作で発生した問題を示すこともできます。

注釈

KMDOD は、四角形をコピーする前に、画面間のすべての移動ダーティ完了する必要があります。 さらに、KMDOD は、別の移動/コピー操作を開始する前に、各移動/コピー操作を完了する必要があります。

オペレーティング システムでは、KMDOD の現在の操作の 2 つのモード (同期と非同期) がサポートされています。 KMDOD は、ハードウェアとドライバーの実装に応じて、いつでもモードまたは切り替えを使用できます。

オペレーティング システムでは、「 スレッド化と同期のゼロ レベル」で定義されているゼロ レベルの同期モードにこの関数が従っていることを保証します。

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム デスクトップ
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT_DISPLAYONLY

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkCbPresentDisplayOnlyProgress

DxgkCbQueueDpc

DxgkDdiAddDevice