DXGKCB_ALLOCATEPAGESFORMDL fonction de rappel (d3dkmddi.h)

DXGKCB_ALLOCATEPAGESFORMDL alloue des pages de mémoire physique pour qu’une liste de descripteurs de mémoire (MDL) soit mappée à l’espace d’adressage logique de l’IOMMU.

Syntaxe

DXGKCB_ALLOCATEPAGESFORMDL DxgkcbAllocatepagesformdl;

NTSTATUS DxgkcbAllocatepagesformdl(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] INOUT_PDXGKARGCB_ALLOCATEPAGESFORMDL pAllocatePagesForMdl
)
{...}

Paramètres

[in] hAdapter

Handle de l’adaptateur d’affichage.

[in/out] pAllocatePagesForMdl

Pointeur vers une structure DXGKARGCB_ALLOCATEPAGESFORMDL qui contient des arguments pour allouer des pages pour MDL.

Valeur retournée

Retournez STATUS_SUCCESS si l’opération réussit. Sinon, retournez un code d’erreur NTSTATUS approprié.

Remarques

Cette fonction de rappel est une fonction de pilote de port graphique Windows équivalente à la fonction MmAllocatePagesForMdl.

DXGKCB_XXX fonctions sont implémentées par Dxgkrnl. Pour utiliser cette fonction de rappel, définissez les membres appropriés de DXGKARGCB_ALLOCATEPAGESFORMDL , puis appelez DxgkCbAllocatePagesForMdl via le DXGKRNL_INTERFACE.

Toute la mémoire accessible par le GPU pendant les opérations de pagination, ou mappée via le GpuMmu doit être mappée à l’IOMMU. Dxgkrnl fournit des rappels au pilote en mode noyau pour permettre l’allocation et le remapping en une seule étape.

Notes

Les appels à DXGKCB_ALLOCATEPAGESFORMDL sont limités à la restriction MDL de 4 Go PAGE_SIZE, et Dxgkrnl spécifie toujours l’indicateur MM_ALLOCATE_FULLY_REQUIRED dans l’appel interne à la fonction MmAllocatePagesForMdlEx. Le pilote ne doit pas non plus verrouiller la mémoire. Dxgkrnl gère les pages verrouillées pour le pilote, et une fois que la mémoire est réappée, l’adresse logique des pages fournies au pilote peut ne plus correspondre aux adresses physiques.

Pour plus d’informations, consultez Isolation GPU basée sur IOMMU .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1803 (WDDM 2.4)
En-tête d3dkmddi.h
IRQL PASSIVE_LEVEL

Voir aussi

DXGKARGCB_ALLOCATEPAGESFORMDL

DXGKCB_FREEPAGESFROMMDL

DXGKRNL_INTERFACE