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 |