次の方法で共有


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

リソースを作成します。

構文

PFND3D10DDI_CREATERESOURCE Pfnd3d10ddiCreateresource;

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

パラメーター

unnamedParam1

hDevice [in]

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

unnamedParam2

pCreateResource [in]

ユーザー モード ディスプレイ ドライバーがリソースの作成に使用するパラメーターを記述する D3D10DDIARG_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 パラメーターが指すD3D10DDIARG_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 が指すD3D10DDIARG_CREATERESOURCE構造体のメンバーを次のように設定する必要があります。
  1. ArraySize メンバーを値 2 に設定します。
  2. BindFlags メンバーでD3D10_DDI_BIND_PRESENT フラグ値を設定します。
さらに、ステレオ表示をサポートするには、BltDXGI 関数で、ソースリソースと変換先リソースの範囲内にあるDXGI_DDI_ARG_BLT構造体の DstSubresource メンバーと SrcSubresource メンバーの値を許可する必要があります。

要件

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

こちらもご覧ください

BltDXGI

CalcPrivateResourceSize

D3D10DDIARG_CREATERESOURCE

D3D10DDI_DEVICEFUNCS

DXGI_DDI_ARG_BLT

DestroyResource(D3D10)

pfnSetErrorCb