Partager via


structure DXGKARGCB_ALLOCATE_ADL (d3dkmddi.h)

DXGKARGCB_ALLOCATE_ADL contient les informations utilisées par la fonction de rappel DXGKCB_ALLOCATEADL pour créer une liste de descripteurs d’adresse (ADL).

Syntaxe

typedef struct _DXGKARGCB_ALLOCATE_ADL {
  [in]  HANDLE   hAdapterMemoryObject;
  [in]  SIZE_T   Offset;
  [in]  SIZE_T   Size;
  union {
    struct {
      UINT32 RequireContiguous : 1;
      UINT32 PreferContiguous : 1;
      UINT32 Reserved : 30;
    };
          UINT32 Value;
  } Flags;
  [out] DXGK_ADL *pAdl;
} DXGKARGCB_ALLOCATE_ADL;

Membres

[in] hAdapterMemoryObject

Objet de mémoire de l’adaptateur qui décrit la mémoire logique sous-jacente utilisée pour générer l’ADL. Cet objet a été créé via DXGKCB_CREATEPHYSICALMEMORYOBJECT ou une version ultérieure ouverte via DXGKCB_OPENPHYSICALMEMORYOBJECT.

[in] Offset

Décalage, en octets, à partir du début de l’objet mémoire physique. Cette valeur doit être un multiple de PAGE_SIZE.

[in] Size

Nombre total d’octets à allouer pour adL. Cette valeur doit être un multiple de PAGE_SIZE, de sorte que le nombre de pages dans ADL sera Taille/PAGE_SIZE.

Flags

[in] Flags.RequireContiguous

Indique que le pilote demande un ADL qui décrit une plage de mémoire contiguë, au lieu de pages dispersées. Cet indicateur n’est valide que si l’objet de mémoire physique représenté par hAdapterMemoryObject a été alloué en tant que DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY ou DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE.

[in] Flags.PreferContiguous

Fournit au pilote un moyen de demander de manière optimale un ADL contigu lorsque cela est possible. Lorsque le remappage DMA est activé, les LISTES ADL font référence à des plages d’espace d’adressage logique ; toutefois, les pilotes peuvent ne pas être en mesure d’utiliser des ADL contigus dans tous les chemins de code. Les ADL non contigus pour la mémoire logique peuvent devenir coûteux, car ils nécessitent l’allocation d’un tableau PFN distinct, similaire à un MDL, pour représenter la mémoire. Dans la mesure du possible, le pilote doit spécifier cet indicateur pour indiquer qu’un ADL peut être représenté uniquement avec l’adresse de base.

[in] Flags.Reserved

Réservé; doit être défini sur zéro.

[in] Flags.Value

Une autre façon d’accéder aux bits.

[out] pAdl

Lors d’un appel réussi à DXGKCB_ALLOCATEADL, pointe vers la structure DXGK_ADL avec une liste d’adresses de page qui peuvent être utilisées pour programmer le matériel.

Remarques

Pour plus d’informations, consultez de remapping IOMMU DMA.

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2022 (WDDM 2.9)
d’en-tête d3dkmddi.h

Voir aussi

DXGKCB_ALLOCATEADL

DXGKCB_CREATEPHYSICALMEMORYOBJECT

DXGKCB_OPENPHYSICALMEMORYOBJECT