DXGK_ADL Struktur (d3dkmddi.h)
Die DXGK_ADL-Struktur ist eine Adressdeskriptorliste (ADL), die zum Beschreiben eines Arrays von Seiten verwendet wird, die entweder physisch oder logisch sein können.
Syntax
typedef struct _DXGK_ADL {
UINT32 PageCount;
DXGK_ADL_FLAGS Flags;
union {
DXGK_PAGE_NUMBER BasePageNumber;
const DXGK_PAGE_NUMBER *Pages;
};
} DXGK_ADL;
Angehörige
PageCount
Die Anzahl der Seiten, die die ADL darstellt.
Flags
Eine DXGK_ADL_FLAGS Struktur, die Flags für die ADL angibt.
BasePageNumber
Wird für zusammenhängende ADLs verwendet. Wenn Flags.Contiguous festgelegt ist, ist BasePageNumber- die ursprüngliche Seitenzahl eines zusammenhängenden Speicherbereichs und PageCount- die Anzahl der seiten, die sie darstellt. Wenn z. B. PageCount=3 und BasePageNumber=100 darstellt, stellt DXGK_ADL die Seiten 100, 101 und 102 (Adressbereich 0x100000-0x102000) dar.
Pages
Wird für nicht zusammenhängende ADLs verwendet. Wenn Flags.Contiguous nicht festgelegt ist, zeigt Pages- auf ein Array genau PageCount- Seiten. Die Seiten im Array sind nicht garantiert zusammenhängend.
Seiten ist vom Typ DXGK_PAGE_NUMBER, der garantiert die gleiche Größe wie ein PFN_NUMBERist. Dieses Array kann beim Programmieren der Hardware anstelle des PFN-Arrays eines MDL ersetzt werden.
Bemerkungen
Dxgkernel- stellt ADLs bereit, um sowohl physische als auch logische Zugriffsmodi zu unterstützen und zur Laufzeit nahtlos zwischen den beiden Modi zu wechseln. Eine ADL ist einer MDL sehr ähnlich, beschreibt jedoch ein Array von Seiten, die entweder physisch oder logisch sein können. Da diese Seiten logische Seiten sein können, können die von einer ADL beschriebenen Adressen nicht einer virtuellen Adresse für den direkten CPU-Zugriff zugeordnet werden.
Weitere Informationen finden Sie unter IOMMU DMA-Neumapping.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Server- | Windows Server 2022 |
Header- | d3dkmddi.h |