다음을 통해 공유


PDD_SURFCB_DESTROYSURFACE 콜백 함수(ddrawint.h)

DdDestroySurface 콜백 함수는 DirectDraw 표면을 삭제합니다.

구문

PDD_SURFCB_DESTROYSURFACE PddSurfcbDestroysurface;

DWORD PddSurfcbDestroysurface(
  PDD_DESTROYSURFACEDATA unnamedParam1
)
{...}

매개 변수

unnamedParam1

표면을 파괴하는 데 필요한 정보를 포함하는 DD_DESTROYSURFACEDATA 구조를 가리킵니다.

반환 값

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

설명

DirectDraw가 표면 생성 시 메모리 할당을 수행했고 드라이버가 할당에 관여하지 않은 경우 DirectDraw는 드라이버의 DdDestroySurface 함수를 호출하여 표면을 파괴하지 않습니다.

드라이버가 표면 메모리 관리 자체를 수행하는 경우 DdDestroySurface는 표면 메모리를 해제하고 DD_SURFACE_GLOBAL 및 DD_SURFACE_LOCAL 구조체의 dwReserved1 멤버에 저장된 개인 데이터를 해제하는 것과 같은 다른 정리를 수행해야 합니다.

드라이버 관리 표면의 경우 표면이 영구적이면(즉, 표면에 대한 DDSCAPS2 구조체의 dwCaps2 멤버에 있는 DDSCAPS2_DONOTPERSIST 플래그가 설정되지 않음) 비디오 메모리에서 표면을 제거하기 위해 DdDestroySurface를 호출할 수 있습니다. 이 경우 디스플레이 드라이버는 DdDestroySurface가 호출되어 실제로 표면을 파괴할 때까지 dwReserved1 멤버의 모든 개인 데이터를 계속 유지할 수 있습니다.

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

요구 사항

   
대상 플랫폼 데스크톱
머리글 ddrawint.h(Winddi.h 포함)

추가 정보

DDSCAPS2

DD_DESTROYSURFACEDATA

DdCreateSurface