ID3D11DeviceContext::FinishCommandList メソッド (d3d11.h)

コマンド リストを作成し、グラフィックス コマンドを記録します。

構文

HRESULT FinishCommandList(
                  BOOL              RestoreDeferredContextState,
  [out, optional] ID3D11CommandList **ppCommandList
);

パラメーター

RestoreDeferredContextState

種類: BOOL

ランタイムが FinishCommandList を実行して後で復元する前に遅延コンテキスト状態を保存するかどうかを決定するブール型フラグ。 TRUE を使用して、ランタイムが状態を保存して復元する必要があることを示します。 ランタイムが状態を保存または復元しないことを示すには 、FALSE を 使用します。 この場合、 FinishCommandList の呼び出しが完了すると、遅延コンテキストは既定の状態に戻ります。 既定の状態の詳細については、「 ID3D11DeviceContext::ClearState」を参照してください。 通常、 TRUE を 渡した場合にランタイムが復元する状態とほぼ同じ状態に復元しない限り、 FALSE を使用しますFALSE を使用すると、不要で非効率的な状態遷移を回避できます。

メモ このパラメーターは、 FinishCommandList の現在の呼び出しが返すコマンド リストには影響しません。 ただし、このパラメーターは、同じ遅延コンテキストでの FinishCommandList の次の呼び出しのコマンド リストに影響します。
 

[out, optional] ppCommandList

種類: ID3D11CommandList**

メソッドが完了すると、 ID3D11CommandList インターフェイス ポインターへの渡されたポインターが、記録されたコマンド リスト情報で初期化されます。 結果の ID3D11CommandList オブジェクトは不変であり、 ID3D11DeviceContext::ExecuteCommandList でのみ使用できます。

戻り値

型: HRESULT

成功した場合はS_OKを返します。それ以外の場合は、次のいずれかを返します。

  • ビデオ カードがシステムから物理的に削除された場合、またはビデオ カードのドライバーアップグレードが発生した場合にDXGI_ERROR_DEVICE_REMOVEDを返します。 このエラーが発生した場合は、デバイスを破棄して再作成する必要があります。
  • 現在のコンテキストから FinishCommandList を呼び出すことができない場合は、DXGI_ERROR_INVALID_CALLを返します。 「解説」を参照してください。
  • アプリケーションで使用可能なメモリが不足している場合は、E_OUTOFMEMORYを返します。

注釈

FinishCommandList を呼び出して、遅延コンテキストからコマンド リストを作成し、それにコマンドを記録します。 ID3D11DeviceContext::ExecuteCommandList を呼び出して、コマンド リストを即時コンテキストで再生します。

コマンド リストが実行される前後に、イミディエイト コンテキストの状態がクリアされます。 コマンド リストには継承の概念はありません。 FinishCommandList を呼び出すたびに、FinishCommandList の以前の呼び出し以降に設定された状態のみが記録されます。

たとえば、 デバイス コンテキスト の状態は、そのレンダリング状態またはパイプラインの状態です。 デバイス コンテキストの状態を取得するために、アプリケーションは ID3D11DeviceContext::GetData または ID3D11DeviceContext::GetPredication を呼び出すことができます。

FinishCommandList の使用方法の詳細については、「方法: コマンド 一覧を記録する」を参照してください。

Windows Phone 8: この API はサポートされています。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d11.h
Library D3d11.lib

こちらもご覧ください

ID3D11DeviceContext