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 기능을 지원하는 경우에만 Driver가 DestroyCommandList를 구현해야 합니다.

드라이버는 D3DDDIERR_DEVICEREMOVED 제외하고 오류가 발생하지 않아야 합니다. 따라서 드라이버가 pfnSetErrorCb 함수에 대한 호출에서 D3DDDIERR_DEVICEREMOVED 제외하고 오류를 전달하는 경우 Direct3D 런타임은 오류가 중요하다고 결정합니다. 디바이스가 제거되더라도 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 필요가 없습니다. 그러나 디바이스 제거가 DestroyCommandList (일반적으로 발생하지 않아야 하는) 작업을 방해하는 경우 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 수 있습니다.

드라이버는 명령 목록의 파기 및 명령 목록의 간단한 삭제를 처리하는 switch 문이 포함된 DestroyCommandList 함수를 구현할 수 있습니다. 즉, 드라이버는 하나의 DestroyCommandList를 구현할 수 있으며, D3D11DDI_DEVICEFUNCS 구조의 pfnRecycleDestroyCommandList 멤버를 DestroyCommandList를 가리키도록 설정할 수 있으며 D3D11DDI_DEVICEFUNCS pfnRecycleDestroyCommandList 멤버와 함께 DestroyCommandList를 가리키도록 설정할 수 있습니다. 그러나 성능을 향상시키기 위해 드라이버는 별도의 DestroyCommandListRecycleDestroyCommandList 함수를 구현할 수 있습니다.

RecycleDestroyCommandList에 대한 자세한 내용은 Small Command Lists 최적화를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 DestroyCommandList는 Windows 7 운영 체제부터 지원됩니다.
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

CreateCommandList

D3D11DDI_DEVICEFUNCS

D3D11DDI_THREADING_CAPS

GetCaps(D3D10_2)

pfnSetErrorCb