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;
Member
[in] hAdapterMemoryObject
Das Adapterspeicherobjekt, das den zugrunde liegenden logischen Speicher beschreibt, der zum Erstellen der ADL verwendet wird. Dieses Objekt wurde über DXGKCB_CREATEPHYSICALMEMORYOBJECT erstellt oder später über DXGKCB_OPENPHYSICALMEMORYOBJECT geöffnet.
[in] Offset
Der Offset in Bytes 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 zugeordnet werden sollen. Dieser Wert muss ein Vielfaches von PAGE_SIZE sein, sodass die Anzahl der Seiten in der ADL größe/PAGE_SIZE ist.
Flags
[in] Flags.RequireContiguous
Gibt an, dass der Treiber eine ADL anfordert, die einen zusammenhängenden Speicherbereich anstelle von verstreuten Seiten beschreibt. Dieses Flag ist nur gültig, wenn das durch hAdapterMemoryObject dargestellte physische Speicherobjekt als DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY oder DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE zugeordnet 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 nicht zusammenhängende ADLs in allen Codepfaden verwenden. Nicht zusammenhängende ADLs für logischen Speicher können kostspielig werden, da sie die Zuordnung eines separaten PFN-Arrays ähnlich einer MDL erfordern, um den Arbeitsspeicher darzustellen. Wenn möglich, sollte der Treiber dieses Flag angeben, um anzugeben, dass eine ADL nur mit der Basisadresse dargestellt werden kann.
[in] Flags.Reserved
Reserviert; muss auf 0 (null) festgelegt werden.
[in] Flags.Value
Eine alternative Möglichkeit, auf die Bits zuzugreifen.
[out] pAdl
Zeigt bei einem erfolgreichen Aufruf von DXGKCB_ALLOCATEADL auf die DXGK_ADL-Struktur mit einer Liste von Seitenadressen, die zum Programmieren der Hardware verwendet werden können.
Hinweise
Weitere Informationen finden Sie unter IOMMU DMA-Neuzuordnung .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Server) | Windows Server 2022 (WDDM 2.9) |
Kopfzeile | d3dkmddi.h |