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 |