다음을 통해 공유


DXGKDDI_DESTROYALLOCATION 콜백 함수(d3dkmddi.h)

DxgkDdiDestroyAllocation 함수는 할당을 해제합니다.

구문

DXGKDDI_DESTROYALLOCATION DxgkddiDestroyallocation;

NTSTATUS DxgkddiDestroyallocation(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_DESTROYALLOCATION pDestroyAllocation
)
{...}

매개 변수

[in] hAdapter

디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버는 이전에 DxgkDdiAddDevice 함수의 MiniportDeviceContext 출력 매개 변수에서 Microsoft DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.

[in] pDestroyAllocation

할당 해제에 대한 정보를 포함하는 DXGKARG_DESTROYALLOCATION 구조체에 대한 포인터입니다.

반환 값

DxgkDdiDestroyAllocation 은 할당이 성공적으로 해제되지 않은 경우 STATUS_SUCCESS 반환하거나 적절한 오류 결과를 반환합니다.

설명

사용자 모드 표시 드라이버가 pfnDeallocateCb 함수를 호출하면 DirectX 그래픽 커널 하위 시스템( Dxgkrnl.sys일부임)은 디스플레이 미니포트 드라이버의 DxgkDdiDestroyAllocation 함수를 호출하여 할당을 해제합니다. 디스플레이 미니포트 드라이버는 내부 데이터 구조와 할당에 대한 참조를 클린 합니다. Microsoft Direct3D 런타임은 비디오 메모리 관리자( Dxgkrnl.sys일부이기도 함)에 대한 호출을 시작한 다음, GPU 스케줄러( Dxgkrnl.sys일부이기도 함)를 호출하여 비디오 메모리가 실제로 릴리스되기 전에 동기화합니다.

디스플레이 미니포트 드라이버는 전체 리소스와 할당을 해제할 수 있습니다. 리소스를 해제할지 여부를 결정하기 위해 디스플레이 미니포트 드라이버는 pDestroyAllocation 매개 변수가 가리키는 DXGKARG_DESTROYALLOCATION 구조체의 Flags 멤버에서 DestroyResource 플래그가 설정되었는지 여부를 검사 수 있습니다. 리소스를 해제하려면 디스플레이 미니포트 드라이버가 DXGKARG_DESTROYALLOCATION hResource 멤버가 지정하는 핸들을 클린 합니다. 디스플레이 미니포트 드라이버가 리소스를 해제하지 않으면 필요한 경우 드라이버가 hResource 의 값을 변경할 수 있습니다.

DxgkDdiDestroyAllocation 을 페이징 가능으로 만들어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 d3dkmddi.h
IRQL PASSIVE_LEVEL

추가 정보

DXGKARG_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb