다음을 통해 공유


PFND3DDDI_DESTROYCONTEXTCB 콜백 함수(d3dumddi.h)

D3D 런타임의 pfnDestroyContextCb 함수는 pfnCreateContextCb 함수에 대한 호출을 통해 만들어진 컨텍스트를 삭제합니다.

통사론

PFND3DDDI_DESTROYCONTEXTCB Pfnd3dddiDestroycontextcb;

HRESULT Pfnd3dddiDestroycontextcb(
  HANDLE hDevice,
  const D3DDDICB_DESTROYCONTEXT *unnamedParam2
)
{...}

매개 변수

hDevice

[in] 디스플레이 디바이스(즉, 그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

[in] 삭제할 컨텍스트를 식별하는 D3DDDICB_DESTROYCONTEXT 구조체에 대한 포인터입니다.

반환 값

pfnDestroyContextCb 컨텍스트 삭제 요청의 성공 또는 실패를 나타내는 HRESULT를 반환합니다. 일반적인 반환 값은 다음과 같습니다.

반환 코드 묘사
S_OK 컨텍스트가 성공적으로 삭제되었습니다.
E_INVALIDARG 매개 변수의 유효성이 검사되었고 잘못된 것으로 확인되었습니다.

발언

지정된 컨텍스트가 현재 큐에 대기 중인 작업을 완료하지 않은 경우 pfnDestroyContextCb 함수는 컨텍스트가 작업을 완료한 다음 반환될 때까지 차단합니다.

pfnDestroyContextCb 삭제할 컨텍스트가 현재 동기화 개체를 소유하는 경우 오류를 반환합니다.

드라이버가 Direct3D 버전 11부터 pfnDestroyContextCb 호출하는 방법에 대한 자세한 내용은 Direct3D 10변경 내용을 참조하세요.

다음 코드 예제에서는 디스플레이 디바이스에 대 한 기본 컨텍스트를 삭제 하는 방법을 보여 있습니다.

    if (m_d3dCallbacks.pfnDestroyContextCb) {
        D3DDDICB_DESTROYCONTEXT DestroyContext;
        DestroyContext.hContext = m_sContexts[MULTI_ENGINE_NODE_3D].hContext;
        m_d3dCallbacks.pfnDestroyContextCb(m_hD3D, &DestroyContext);
        m_sContexts[MULTI_ENGINE_NODE_3D].hContext = NULL;
    }

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista(WDDM 1.0)
대상 플랫폼 바탕 화면
헤더 d3dumddi.h(D3dumddi.h 포함)

참고 항목

D3DDDICB_DESTROYCONTEXT

pfnCreateContextCb