다음을 통해 공유


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일부임)를 호출하여 비디오 메모리가 실제로 릴리스되기 전에 동기화합니다.

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

DxgkDdiDestroyAllocation 페이징할 수 있어야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 바탕 화면
헤더 d3dkmddi.h
IRQL PASSIVE_LEVEL

참고 항목

DXGKARG_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb