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’adresses (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 ultérieurement ouvert via DXGKCB_OPENPHYSICALMEMORYOBJECT.
[in] Offset
Décalage, en octets, à partir du début de l’objet de mémoire physique. Cette valeur doit être un multiple de PAGE_SIZE.
[in] Size
Nombre total d’octets à allouer pour l’ADL. Cette valeur doit être un multiple de PAGE_SIZE, de telle sorte que le nombre de pages dans l’ADL soit Size/PAGE_SIZE.
Flags
[in] Flags.RequireContiguous
Indique que le pilote demande un ADL qui décrit une plage contiguë de mémoire, au lieu de pages éparses. 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 réadressage 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 listes ADL contiguës dans tous les chemins de code. Les ADL non contiguës pour la mémoire logique peuvent devenir coûteuses, car elles nécessitent l’allocation d’un tableau PFN distinct, similaire à un MDL, pour représenter la mémoire. Lorsque cela est 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és au; 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 La remappage iommu DMA .
Configuration requise
Condition requise | Valeur |
---|---|
Serveur minimal pris en charge | Windows Server 2022 (WDDM 2.9) |
En-tête | d3dkmddi.h |