次の方法で共有


D3DKMTOutputDuplPresent 関数 (d3dkmthk.h)

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

構文

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
ターゲット プラットフォーム 万国
ヘッダー d3dkmthk.h (D3dkmthk.h を含む)
ライブラリ Gdi32.lib
DLL Gdi32.dll

関連項目

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT