다음을 통해 공유


PFND3DDDI_DESTROYCONTEXTCB 콜백 함수(d3dumddi.h)

pfnDestroyContextCb 함수는 pfnCreateContextCb 함수를 호출하여 만든 컨텍스트를 삭제합니다.

구문

PFND3DDDI_DESTROYCONTEXTCB Pfnd3dddiDestroycontextcb;

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

매개 변수

hDevice

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

unnamedParam2

pData [in]

삭제할 컨텍스트에 대한 핸들을 포함하는 D3DDDICB_DESTROYCONTEXT 구조체에 대한 포인터입니다.

반환 값

pfnDestroyContextCb 는 다음 값 중 하나를 반환합니다.

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

이 함수는 다른 HRESULT 값을 반환할 수도 있습니다.

설명

지정된 컨텍스트가 현재 큐에 대기 중인 작업을 완료하지 않은 경우 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 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDICB_DESTROYCONTEXT

pfnCreateContextCb