PFND3DDDI_DEALLOCATE2CB 콜백 함수(d3dumddi.h)

pfnDeallocate2Cb 사용자 모드 콜백 함수는 리소스 개체를 만든 경우 커널 모드 리소스 개체에 대한 할당을 해제합니다.

pfnDeallocate2Cb는 추가 Flags 멤버가 있는 pfnDeallocateCb를 대체합니다. Flags가 모든 0으로 설정된 경우 동작은 pfnDeallocateCb와 동일합니다.

구문

PFND3DDDI_DEALLOCATE2CB Pfnd3dddiDeallocate2cb;

HRESULT Pfnd3dddiDeallocate2cb(
  HANDLE hDevice,
  const D3DDDICB_DEALLOCATE2 *unnamedParam2
)
{...}

매개 변수

hDevice

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

unnamedParam2

pData [in]

해제할 리소스를 설명하는 D3DDDICB_DEALLOCATE2 구조체에 대한 포인터입니다.

반환 값

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

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

설명

할당 소멸 요청이 수신되면 VidMm은 기본적으로 소멸 요청 전에 대기 중인 명령이 소멸되는 할당에 액세스하고 큐에 대기 중인 명령이 완료될 때까지 소멸 작업을 연기할 수 있다고 가정합니다. UMD(사용자 모드 드라이버)가 보류 중인 명령이 삭제되는 할당에 액세스하지 못한다는 것을 알고 있는 경우 pfnDeallocate2Cb를 호출할 때 AssumeNotInUse 플래그를 TRUE로 설정하여 보류 중인 명령이 완료될 때까지 기다리지 않도록 VidMm에 지시할 수 있습니다.

애플리케이션 또는 UMD가 pfnDeallocate2Cb 호출에서 반환되기 전에 할당 메모리가 회수되도록 하려는 경우(예: 표면이 다시 생성되는 경우 최대 메모리 사용량을 최소화하기 위해) SynchronousDestroy 플래그를 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 데스크톱
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDICB_DEALLOCATE2

pfnDeallocateCb