structure DXGK_ADL (d3dkmddi.h)

La structure DXGK_ADL est une liste de descripteurs d’adresses (ADL), qui servait à 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 l’ADL.

BasePageNumber

Utilisé pour les listes ADL contiguës. Lorsque Flags.Contiguous est défini, BasePageNumber est le numéro de page initial d’une plage contiguë de mémoire et PageCount est le 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 listes ADL non contiguës. 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 pour être contiguës.

Pages est de type DXGK_PAGE_NUMBER, ce qui est garanti pour avoir la même taille qu’un PFN_NUMBER. Ce tableau peut être remplacé par le tableau PFN d’un MDL lors de la programmation du matériel.

Remarques

Dxgkernel fournit des ADL afin de prendre en charge les modes d’accès physique et logique, et de pouvoir 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 peut être physique ou logique. É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 un accès direct au processeur.

Pour plus d’informations, consultez La réappinging iommu DMA.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022
En-tête d3dkmddi.h

Voir aussi

DXGK_ADL_FLAGS