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構造体のメンバーを次のように設定する必要があります。- ArraySize メンバーを値 2 に設定します。
- BindFlags メンバーでD3D10_DDI_BIND_PRESENT フラグ値を設定します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | d3d10umddi.h (D3d10umddi.h を含む) |