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

Vedi anche

DXGK_ADL_FLAGS