LPD3DHAL_CONTEXTDESTROYCB 콜백 함수(d3dhal.h)

D3dContextDestroy 함수는 지정된 컨텍스트를 삭제합니다.

구문

LPD3DHAL_CONTEXTDESTROYCB Lpd3dhalContextdestroycb;

DWORD Lpd3dhalContextdestroycb(
  LPD3DHAL_CONTEXTDESTROYDATA unnamedParam1
)
{...}

매개 변수

unnamedParam1

pcdd [in]

드라이버가 컨텍스트를 삭제하는 데 필요한 정보를 포함하는 D3DHAL_CONTEXTDESTROYDATA 구조를 가리킵니다.

반환 값

D3dContextDestroy 는 다음 콜백 코드 중 하나를 반환합니다.

설명

모든 Microsoft Direct3D 드라이버는 D3dContextDestroy를 지원해야 합니다.

드라이버는 삭제되는 컨텍스트에 할당된 모든 리소스를 해제해야 합니다. 예를 들어 드라이버는 컨텍스트와 연결된 다음 리소스를 해제해야 합니다.

애플리케이션 또는 Direct3D 런타임 요청에 대한 응답으로 DirectDraw에서 해제되므로 드라이버는 컨텍스트와 연결된 Microsoft DirectDraw 표면을 해제해서는 안 됩니다.

드라이버가 D3dContextCreate를 호출할 때 D3DHAL_CONTEXTCREATEDATA 구조체의 lpDDLcl 멤버로 전달된 DD_DIRECTDRAW_LOCAL 구조체에 대한 포인터를 캐시한 경우 D3dContextDestroy가 호출되기 전에 포인터가 유효하지 않을 수 있습니다. 따라서 D3dContextDestroy 는 액세스 위반으로 인해 또는 임의 데이터가 반환될 수 있으므로 이 DD_DIRECTDRAW_LOCAL 포인터를 역참조해서는 안 됩니다. 예를 들어 D3dContextDestroy 전에 드라이버의 D3dDestroyDDLocal 함수가 호출되면 운영 체제는 D3dContextDestroy 호출 전에 이 DD_DIRECTDRAW_LOCAL 포인터를 해제합니다.

사용하지 않도록 설정된 PDEV를 사용하여 D3dContextDestroy를 호출할 수 있습니다. 디스플레이 드라이버의 DrvAssertMode 함수를 호출하여 PDEV를 사용하지 않도록 설정하거나 사용할 수 있습니다. 자세한 내용은 PDEV 관리를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 d3dhal.h(D3dhal.h 포함)

추가 정보

D3DHAL_CONTEXTCREATEDATA

D3DHAL_CONTEXTDESTROYDATA

D3dContextCreate

D3dDestroyDDLocal

DD_DIRECTDRAW_LOCAL