struttura DXGKARGCB_ALLOCATE_ADL (d3dkmddi.h)
DXGKARGCB_ALLOCATE_ADL contiene le informazioni utilizzate dalla funzione di callback DXGKCB_ALLOCATEADL per creare un elenco di descrittori di indirizzi (ADL).
Sintassi
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;
Members
[in] hAdapterMemoryObject
Oggetto memoria adapter che descrive la memoria logica sottostante usata per compilare l'ADL. Questo oggetto è stato creato tramite DXGKCB_CREATEPHYSICALMEMORYOBJECT o successivamente aperto tramite DXGKCB_OPENPHYSICALMEMORYOBJECT.
[in] Offset
Offset, in byte, dall'inizio dell'oggetto memoria fisica. Questo valore deve essere un multiplo di PAGE_SIZE.
[in] Size
Numero totale di byte da allocare per ADL. Questo valore deve essere un multiplo di PAGE_SIZE, in modo che il numero di pagine in ADL sia Size/PAGE_SIZE.
Flags
[in] Flags.RequireContiguous
Indica che il driver richiede un adL che descrive un intervallo contiguo di memoria, anziché pagine a dispersione. Questo flag è valido solo se l'oggetto memoria fisica rappresentato da hAdapterMemoryObject è stato allocato come DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY o DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE.
[in] Flags.PreferContiguous
Fornisce al driver un modo per richiedere in modo ottimale un ADL contiguo, quando possibile. Quando il mapping di DMA è abilitato, adls farà riferimento a intervalli di spazio di indirizzi logici; Tuttavia, i driver potrebbero non essere in grado di usare ADLs contigui in tutti i percorsi di codice. Gli ADLs non contigui per la memoria logica possono diventare costosi perché richiedono l'allocazione di una matrice PFN separata, simile a un MDL, per rappresentare la memoria. Quando possibile, il driver deve specificare questo flag per indicare che un ADL può essere rappresentato solo con l'indirizzo di base.
[in] Flags.Reserved
Riservati; deve essere impostato su zero.
[in] Flags.Value
Un modo alternativo per accedere ai bit.
[out] pAdl
In una chiamata a DXGKCB_ALLOCATEADL, punta alla struttura DXGK_ADL con un elenco di indirizzi di pagina che possono essere usati per programmare l'hardware.
Commenti
Per altre informazioni, vedere Il mapping DMA di IOMMU .
Requisiti
Requisito | Valore |
---|---|
Server minimo supportato | Windows Server 2022 (WDDM 2.9) |
Intestazione | d3dkmddi.h |