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
라이브러리 D3d11.lib

추가 정보

ID3D11DeviceContext