Freigeben über


DXGKCB_ALLOCATEADL Rückruffunktion (d3dkmddi.h)

DXGKCB_ALLOCATEADL erstellt eine Adressdeskriptorliste (ADL).

Syntax

DXGKCB_ALLOCATEADL DxgkcbAllocateadl;

NTSTATUS DxgkcbAllocateadl(
  [in/out] IN_OUT_PDXGKARGCB_ALLOCATE_ADL pArgs
)
{...}

Parameter

[in/out] pArgs

Zeiger auf eine DXGKARGCB_ALLOCATE_ADL-Struktur , die Informationen zur zu erstellenden ADL enthält. Gibt bei Erfolg eine DXGK_ADL-Struktur mit einer Liste von Seitenadressen zurück, die zum Programmieren der Hardware verwendet werden können.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls wird ein entsprechender NTSTATUS-Fehlercode zurückgegeben, z. B. STATUS_INVALID_PARAMETER.

Hinweise

Die funktionen DXGKCB_ALLOCATEADL und DXGKCB_FREEADL werden verwendet, um ADLs zu erstellen und zu zerstören, die Speicheradressen beschreiben, die der GPU programmiert (zugeordnet) werden können. Der zugrunde liegende Arbeitsspeicher kann entweder auf logischen oder physischen Arbeitsspeicher verweisen, je nachdem, ob die IOMMU verwendet wird. Daher darf der Treiber nicht versuchen, davon auszugehen, dass diese Adressen physische Seiten darstellen.

Wenn eine ADL aus dem physischen Objekt zugeordnet wird, garantiert Dxgkrnl , dass dieser Speicher gesperrt bleibt und für die Lebensdauer der ADL nicht ausgelagert werden kann.

Weitere Informationen finden Sie unter IOMMU DMA Remapping .

DXGKCB_XXX Funktionen werden von Dxgkrnl implementiert. Um diese Rückruffunktion zu verwenden, legen Sie die entsprechenden Member von DXGKARGCB_ALLOCATE_ADL fest, und rufen Sie dann DxgkCbAllocateAdl über den DXGKRNL_INTERFACE auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2022 (WDDM 2.9)
Kopfzeile d3dkmddi.h
IRQL PASSIVE_LEVEL

Weitere Informationen

DXGKARGCB_ALLOCATE_ADL

DXGKCB_FREEADL

DXGKRNL_INTERFACE