次の方法で共有


D3DKMTOutputDuplPresent 関数 (d3dkmthk.h)

デスクトップ ウィンドウ マネージャー (DWM) の デスクトップ重複 API スワップチェーンから Microsoft DirectX グラフィックス カーネル サブシステム (Dxgkrnl.sys) に present コマンドを送信します。

構文

NTSTATUS D3DKMTOutputDuplPresent(
  [in] const D3DKMT_OUTPUTDUPLPRESENT *unnamedParam1
);

パラメーター

[in] unnamedParam1

現在の操作のパラメーターを記述する D3DKMT_OUTPUTDUPLPRESENT 構造体へのポインター。

戻り値

次の値のいずれか。

リターン コード 説明
STATUS_SUCCESS 現在の操作は正常に実行されました。
STATUS_DEVICE_REMOVED グラフィックス アダプターが停止したか、表示コンテキストがリセットされました。
STATUS_INVALID_PARAMETER パラメーターが検証され、正しくないと判断されました。
STATUS_NO_MEMORY メモリ不足のため、D3DKMTOutputDuplPresent を完了できませんでした。
STATUS_GRAPHICS_ALLOCATION_INVALID 表示モードの変更により、プライマリ サーフェス ハンドルが無効になりました。 OpenGL インストール可能クライアント ドライバー (ICD) がこのエラー コードを受け取った場合は、プライマリ ハンドルを再度開くか再作成し、コマンド バッファー内のすべての参照を新しいハンドルで古いハンドルに置き換えてから、バッファーを再送信する必要があります。
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE D3DKMT_OUTPUTDUPLPRESENT の hContext メンバーが指定するレンダリング デバイス コンテキストでエラー 発生しました。
メモ: このエラー コードは、タイムアウト検出と回復 (TDR) プロセスの開始や、GPU が応答を停止したことを示していません。
たとえば、DirectX グラフィックス カーネル サブシステムは、ディスプレイ ミニポート ドライバーがこのデバイスから送信された DMA バッファーでエラーが発生したことを示した場合、または DMA バッファーを分割した後でも DMA バッファーに必要なすべての割り当てをビデオ メモリ マネージャーがページングできなかった場合に、デバイスをエラー状態にします。 デバイスがエラー状態になると、それ以上操作を実行できず、破棄して再作成する必要があります。 ICD は D3DKMTGetDeviceState 関数を呼び出して、エラーのより正確な理由を判断できます。

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム ユニバーサル
Header d3dkmthk.h (D3dkmthk.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

こちらもご覧ください

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT