次の方法で共有


PFND3D11DDI_CREATERESOURCE コールバック関数 (d3d10umddi.h)

リソースを作成します。

構文

PFND3D11DDI_CREATERESOURCE Pfnd3d11ddiCreateresource;

void Pfnd3d11ddiCreateresource(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D11DDIARG_CREATERESOURCE *unnamedParam2,
  D3D10DDI_HRESOURCE unnamedParam3,
  D3D10DDI_HRTRESOURCE unnamedParam4
)
{...}

パラメーター

unnamedParam1

hDevice [in]

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

unnamedParam2

pCreateResource [in]

ユーザー モード ディスプレイ ドライバーがリソースの作成に使用するパラメーターを記述する D3D11DDIARG_CREATERESOURCE構造体への ポインター。

unnamedParam3

hResource [in]

リソースのドライバーのプライベート データへのハンドル。

unnamedParam4

hRTResource [in]

ドライバーが Direct3D ランタイムに呼び出すときに使用するリソースへのハンドル。

戻り値

なし

解説

ドライバーは、 pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。

ドライバーがメモリ不足になる可能性があります。 そのため、ドライバーは pfnSetErrorCb 関数の呼び出しでE_OUTOFMEMORYまたはD3DDDIERR_DEVICEREMOVEDを渡すことができます。 ドライバーは、 pfnSetErrorCb への呼び出しでDXGI_DDI_ERR_UNSUPPORTEDを渡すこともできます。 DXGI_DDI_ERR_UNSUPPORTED渡しの詳細については、 BltDXGI リファレンス ページの「解説」セクションを参照してください。 Direct3D ランタイムは、他のエラーが重大であると判断します。 ドライバーがエラー (D3DDDIERR_DEVICEREMOVEDを含む) を渡すと、Direct3D ランタイムはハンドルが無効であると判断します。そのため、ランタイムは DestroyResource(D3D10) 関数を呼び出して 、hResource パラメーターが指定するハンドルを破棄しません。

ランタイムは、アプリケーションがリソースを作成するために送信したパラメーターに対してすべてのパラメーターを検証します。 そのため、ドライバーは無効な組み合わせを受け取るべきではありません。

アプリケーションがプレゼンテーション全体で保持するためにリソースの内容を必要としない場合、ランタイムは pCreateResource パラメーターが指すD3D11DDIARG_CREATERESOURCE構造体の MiscFlags メンバーのD3D10_DDI_RESOURCE_MISC_FLAG列挙のD3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT フラグを設定します。 プレゼンテーションは、ドライバーの PresentDXGI または BltDXGI (present フラグがDXGI_DDI_ARG_BLT_FLAGS構造体に設定されている) 関数が呼び出されたときに発生します。 アプリケーションが DXGI_SWAP_EFFECT_DISCARD 値を使用してスワップ チェーンを要求する場合、ランタイムは D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT フラグを使用してスワップ チェーン バック バッファーを作成します。

ステレオ バック バッファーの作成

Windows 8以降、ドライバーがステレオ バック バッファーを作成する必要がある場合は、pCreateResource が指すD3D11DDIARG_CREATERESOURCE構造体のメンバーを次のように設定する必要があります。
  1. ArraySize メンバーを値 2 に設定します。
  2. BindFlags メンバーでD3D10_DDI_BIND_PRESENT フラグ値を設定します。
さらに、ステレオ表示をサポートするには、BltDXGI 関数で、ソースリソースと変換先リソースの範囲内にあるDXGI_DDI_ARG_BLT構造体の DstSubresource メンバーと SrcSubresource メンバーの値を許可する必要があります。

入力値に関する制限事項

Windows ディスプレイ ドライバー モデル (WDDM) 1.3 以降のドライバーの場合、Microsoft Direct3D ランタイムは、この関数で使用される入力値の制限されたセットを提供します。 すべての制限された値の一覧については、「Direct3D レンダリングのパフォーマンスの向上](/windows-hardware/drivers/display/direct3d-rendering-performance-improvements)」を参照してください。

要件

要件
サポートされている最小のクライアント CreateResource(D3D11) は、Windows 7 オペレーティング システム以降でサポートされています。
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

BltDXGI

CalcPrivateResourceSize(D3D11)

D3D10_DDI_RESOURCE_MISC_FLAG

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DXGI_DDI_ARG_BLT_FLAGS

DestroyResource(D3D10)

PresentDXGI

pfnSetErrorCb