DXGKCB_ALLOCATEPAGESFORMDL 콜백 함수(d3dkmddi.h)
DXGKCB_ALLOCATEPAGESFORMDL IOMMU의 논리적 주소 공간에 매핑할 MDL(메모리 설명자 목록)에 대한 실제 메모리 페이지를 할당합니다.
구문
DXGKCB_ALLOCATEPAGESFORMDL DxgkcbAllocatepagesformdl;
NTSTATUS DxgkcbAllocatepagesformdl(
[in] IN_CONST_HANDLE hAdapter,
[in/out] INOUT_PDXGKARGCB_ALLOCATEPAGESFORMDL pAllocatePagesForMdl
)
{...}
매개 변수
[in] hAdapter
디스플레이 어댑터에 대한 핸들입니다.
[in/out] pAllocatePagesForMdl
MDL에 대한 페이지를 할당하기 위한 인수가 포함된 DXGKARGCB_ALLOCATEPAGESFORMDL 구조체에 대한 포인터입니다.
반환 값
작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드를 반환합니다.
설명
이 콜백 함수는 MmAllocatePagesForMdl 함수와 동일한 Windows 그래픽 포트 드라이버 함수입니다.
DXGKCB_XXX 함수는 Dxgkrnl에 의해 구현됩니다. 이 콜백 함수를 사용하려면 DXGKARGCB_ALLOCATEPAGESFORMDL 적절한 멤버를 설정한 다음 DXGKRNL_INTERFACE 통해 DxgkCbAllocatePagesForMdl을 호출합니다.
페이징 작업 중에 GPU에서 액세스하거나 GpuMmu를 통해 매핑된 모든 메모리는 IOMMU에 매핑되어야 합니다. Dxgkrnl 은 커널 모드 드라이버에 대한 콜백을 제공하여 한 단계에서 할당 및 다시 매핑을 허용합니다.
참고
DXGKCB_ALLOCATEPAGESFORMDL 대한 호출은 4GB PAGE_SIZE MDL 제한으로 제한되며 Dxgkrnl은 항상 MmAllocatePagesForMdlEx 함수에 대한 내부 호출에서 MM_ALLOCATE_FULLY_REQUIRED 플래그를 지정합니다. 또한 드라이버는 메모리를 잠그지 않아야 합니다. Dxgkrnl 은 드라이버에 대해 잠긴 페이지를 관리하고 메모리가 다시 매핑되면 드라이버에 제공된 페이지의 논리적 주소가 더 이상 실제 주소와 일치하지 않을 수 있습니다.
자세한 내용은 IOMMU 기반 GPU 격리 를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 버전 1803(WDDM 2.4) |
머리글 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |