PFND3D11DDI_DESTROYCOMMANDLIST コールバック関数 (d3d10umddi.h)
DestroyCommandList 関数は、コマンド リストを破棄します。
構文
PFND3D11DDI_DESTROYCOMMANDLIST Pfnd3d11ddiDestroycommandlist;
void Pfnd3d11ddiDestroycommandlist(
D3D10DDI_HDEVICE unnamedParam1,
D3D11DDI_HCOMMANDLIST unnamedParam2
)
{...}
パラメーター
unnamedParam1
hDevice [in]
ディスプレイ デバイス (グラフィックス コンテキスト) へのハンドル。
unnamedParam2
hCommandList [in]
破棄するコマンド リストのドライバーのプライベート データへのハンドル。 Microsoft Direct3D ランタイムは、以前にコマンド リストに割り当てたメモリ領域を解放します。 そのため、ドライバーは、このメモリ領域にアクセスできなくなります。
戻り値
なし
解説
ドライバーは 、pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。
ドライバーは、ドライバーが GetCaps(D3D10_2) 関数の呼び出しからD3D11DDI_THREADING_CAPS構造体で返すことができるD3D11DDICAPS_COMMANDLISTS_BUILD_2機能をサポートしている場合にのみ、DestroyCommandList を実装するために必要です。
D3DDDIERR_DEVICEREMOVEDを除き、ドライバーでエラーが発生しないようにする必要があります。 したがって、ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Direct3D ランタイムはエラーが重要であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が DestroyCommandList の操作に干渉する場合 (通常は実行しないでください)、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。
ドライバーは、コマンド リストの破棄とコマンド リストの軽量破棄を処理する switch ステートメントを含む DestroyCommandList 関数を実装できます。 つまり、ドライバーは 1 つの DestroyCommandList を実装でき、DestroyCommandList を指す D3D11DDI_DEVICEFUNCS の pfnRecycleDestroyCommandList メンバーと共に DestroyCommandList を指すD3D11DDI_DEVICEFUNCS構造体の pfnRecycleDestroyCommandList メンバーを設定できます。 ただし、パフォーマンスを向上させるために、ドライバーは個別の DestroyCommandList 関数と RecycleDestroyCommandList 関数を 実装できます。
RecycleDestroyCommandList の詳細については、「小さなコマンド Listsの最適化」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | DestroyCommandList は、Windows 7 オペレーティング システム以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | d3d10umddi.h (D3d10umddi.h を含む) |