ID3D11DeviceContext::FinishCommandList 메서드(d3d11.h)
명령 목록을 만들고 그래픽 명령을 기록합니다.
구문
HRESULT FinishCommandList(
BOOL RestoreDeferredContextState,
[out, optional] ID3D11CommandList **ppCommandList
);
매개 변수
RestoreDeferredContextState
형식: BOOL
런타임이 FinishCommandList 를 실행하기 전에 지연된 컨텍스트 상태를 저장하고 나중에 복원할지 여부를 결정하는 부울 플래그입니다. TRUE를 사용하여 런타임이 상태를 저장하고 복원해야 함을 나타냅니다. FALSE를 사용하여 런타임이 상태를 저장하거나 복원하지 않음을 나타냅니다. 이 경우 FinishCommandList 에 대한 호출이 완료된 후 지연된 컨텍스트가 기본 상태로 돌아갑니다. 기본 상태에 대한 자세한 내용은 ID3D11DeviceContext::ClearState를 참조하세요. 일반적으로 TRUE 를 전달한 경우 런타임이 복원할 상태와 거의 동일한 상태로 상태를 복원하지 않는 한 FALSE를 사용합니다. FALSE를 사용하면 불필요하고 비효율적인 상태 전환을 방지할 수 있습니다.
[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 |