DXGK_ADL struttura (d3dkmddi.h)
La struttura DXGK_ADL è un elenco di descrittori di indirizzi (ADL), usato per descrivere una matrice di pagine che possono essere fisiche o logiche.
Sintassi
typedef struct _DXGK_ADL {
UINT32 PageCount;
DXGK_ADL_FLAGS Flags;
union {
DXGK_PAGE_NUMBER BasePageNumber;
const DXGK_PAGE_NUMBER *Pages;
};
} DXGK_ADL;
Members
PageCount
Numero di pagine rappresentate da ADL.
Flags
Struttura DXGK_ADL_FLAGS che specifica i flag per ADL.
BasePageNumber
Usato per gli ADL contigui. Quando Flags.Contiguous è impostato, BasePageNumber è il numero di pagina iniziale di un intervallo contiguo di memoria e PageCount è il numero di pagine rappresentate. Ad esempio, se PageCount=3 e BasePageNumber=100, DXGK_ADL rappresenta le pagine 100, 101 e 102 (intervallo di indirizzi 0x100000-0x102000).
Pages
Utilizzato per adls non contigui. Quando Flags.Contiguous non è impostato, Pages punta a una matrice di pagine PageCount esattamente. Le pagine della matrice non devono essere contigue.
Le pagine sono di tipo DXGK_PAGE_NUMBER, che è garantito essere la stessa dimensione di un PFN_NUMBER. Questa matrice può essere sostituita al posto di una matrice PFN di MDL durante la programmazione dell'hardware.
Commenti
Dxgkernel fornisce ADLs per supportare le modalità di accesso fisico e logico e poter passare facilmente tra le due modalità di esecuzione. Un ADL è molto simile a un MDL, ma descrive una matrice di pagine che possono essere fisiche o logiche. Poiché queste pagine possono essere pagine logiche, gli indirizzi descritti da un ADL non possono essere mappati a un indirizzo virtuale per l'accesso diretto alla CPU.
Per altre informazioni, vedere Remapping di IOMMU DMA.
Requisiti
Requisito | Valore |
---|---|
Server minimo supportato | Windows Server 2022 |
Intestazione | d3dkmddi.h |