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 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 d3dkmddi.h
IRQL PASSIVE_LEVEL

참고 항목

DXGKARG_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb