DXGKARGCB_ALLOCATE_ADL Struktur (d3dkmddi.h)
DXGKARGCB_ALLOCATE_ADL enthält die Informationen, die von der DXGKCB_ALLOCATEADL Rückruffunktion zum Erstellen einer Adressdeskriptorliste (ADL) verwendet werden.
Syntax
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;
Angehörige
[in] hAdapterMemoryObject
Das Adapterspeicherobjekt, das den zugrunde liegenden logischen Speicher beschreibt, der zum Erstellen der ADL verwendet wird. Dieses Objekt wurde über DXGKCB_CREATEPHYSICALMEMORYOBJECT oder später über DXGKCB_OPENPHYSICALMEMORYOBJECTgeöffnet.
[in] Offset
Der Offset in Byte vom Anfang des physischen Speicherobjekts. Dieser Wert muss ein Vielfaches von PAGE_SIZE sein.
[in] Size
Die Gesamtanzahl der Bytes, die für die ADL zugewiesen werden sollen. Dieser Wert muss ein Vielfaches von PAGE_SIZE sein, sodass die Anzahl der Seiten in der ADL Size/PAGE_SIZE ist.
Flags
[in] Flags.RequireContiguous
Gibt an, dass der Treiber eine ADL anfordert, die einen zusammenhängenden Speicherbereich anstelle von punktierten Seiten beschreibt. Dieses Flag ist nur gültig, wenn das physische Speicherobjekt, das durch hAdapterMemoryObject- dargestellt wird, als DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY oder DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACEzugewiesen wurde.
[in] Flags.PreferContiguous
Bietet dem Treiber eine Möglichkeit, nach Möglichkeit eine zusammenhängende ADL optimal anzufordern. Wenn die DMA-Neuzuordnung aktiviert ist, verweisen ADLs auf Bereiche des logischen Adressraums; Treiber können jedoch möglicherweise keine zusammenhängenden ADLs in allen Codepfaden verwenden. Nicht zusammenhängende ADLs für logischen Speicher können kostspielig werden, da sie eine Zuordnung eines separaten PFN-Arrays erfordern, ähnlich wie eine MDL, zur Darstellung des Speichers. Wenn möglich, sollte der Treiber dieses Kennzeichen angeben, um anzugeben, dass eine ADL nur mit der Basisadresse dargestellt werden kann.
[in] Flags.Reserved
Reserviert; muss auf Null festgelegt werden.
[in] Flags.Value
Eine alternative Möglichkeit für den Zugriff auf die Bits.
[out] pAdl
Zeigt bei einem erfolgreichen Aufruf von DXGKCB_ALLOCATEADLauf die DXGK_ADL Struktur mit einer Liste von Seitenadressen, die zum Programmieren der Hardware verwendet werden können.
Bemerkungen
Weitere Informationen finden Sie unter IOMMU DMA-Neumapping.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Server- | Windows Server 2022 (WDDM 2.9) |
Header- | d3dkmddi.h |