structure DXGK_ADL (d3dkmddi.h)
La structure DXGK_ADL est une liste de descripteurs d’adresse (ADL), utilisée pour décrire un tableau de pages pouvant être physiques ou logiques.
Syntaxe
typedef struct _DXGK_ADL {
UINT32 PageCount;
DXGK_ADL_FLAGS Flags;
union {
DXGK_PAGE_NUMBER BasePageNumber;
const DXGK_PAGE_NUMBER *Pages;
};
} DXGK_ADL;
Membres
PageCount
Nombre de pages que l’ADL représente.
Flags
Structure DXGK_ADL_FLAGS qui spécifie des indicateurs pour adL.
BasePageNumber
Utilisé pour les ADL contigus. Lorsque flags.Contiguous est défini, BasePageNumber correspond au numéro de page initial d’une plage de mémoire contiguë et PageCount correspond au nombre de pages qu’il représente. Par exemple, si PageCount=3 et BasePageNumber=100, DXGK_ADL représente les pages 100, 101 et 102 (plage d’adresses 0x100000-0x102000).
Pages
Utilisé pour les ADL non contigus. Lorsque Flags.Contiguous n’est pas défini, Pages pointe vers un tableau de pages PageCount exactement. Les pages du tableau ne sont pas garanties d’être contiguës.
Pages est de type DXGK_PAGE_NUMBER, qui est garantie d’être de la même taille qu’un PFN_NUMBER. Ce tableau peut être substitué à la place du tableau PFN d’un MDL lors de la programmation du matériel.
Remarques
Dxgkernel fournit des dll ADL pour prendre en charge les modes d’accès physique et logique, et être en mesure de basculer entre les deux modes en toute transparence au moment de l’exécution. Un ADL est très similaire à un MDL, mais décrit un tableau de pages qui peuvent être physiques ou logiques. Étant donné que ces pages peuvent être des pages logiques, les adresses décrites par un ADL ne peuvent pas être mappées à une adresse virtuelle pour l’accès direct au processeur.
Pour plus d’informations, consultez de remapping IOMMU DMA .
Exigences
Exigence | Valeur |
---|---|
serveur minimum pris en charge | Windows Server 2022 |
d’en-tête | d3dkmddi.h |