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
Zeigen Sie auf eine DXGKARGCB_ALLOCATE_ADL Struktur, die Informationen über die zu erstellende 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.
Bemerkungen
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 Speicher kann abhängig davon, ob das IOMMU verwendet wird, entweder auf logischen oder physischen Speicher verweisen, sodass der Treiber nicht versuchen darf, davon auszugehen, dass diese Adressen physische Seiten darstellen.
Wenn dem physischen Objekt eine ADL zugewiesen 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-Neumapping.
DXGKCB_XXX Funktionen werden von Dxgkrnlimplementiert. Um diese Rückruffunktion zu verwenden, legen Sie die entsprechenden Member von DXGKARGCB_ALLOCATE_ADL fest, und rufen Sie dann DxgkCbAllocateAdl über die DXGKRNL_INTERFACEauf.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Server- | Windows Server 2022 (WDDM 2.9) |
Header- | d3dkmddi.h |
IRQL- | PASSIVE_LEVEL |