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_DEVICEFUNCSpfnRecycleDestroyCommandList メンバーと共に DestroyCommandList を指すD3D11DDI_DEVICEFUNCS構造体の pfnRecycleDestroyCommandList メンバーを設定できます。 ただし、パフォーマンスを向上させるために、ドライバーは個別の DestroyCommandList 関数と RecycleDestroyCommandList 関数を 実装できます。

RecycleDestroyCommandList の詳細については、「小さなコマンド Listsの最適化」を参照してください。

要件

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

こちらもご覧ください

CreateCommandList

D3D11DDI_DEVICEFUNCS

D3D11DDI_THREADING_CAPS

GetCaps(D3D10_2)

pfnSetErrorCb