Partager via


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

Voir aussi

DXGK_ADL_FLAGS