DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE Rückruffunktion (d3dkmddi.h)
Ein Kernelmodus-Miniporttreiber kann DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE aufrufen, um während der Erstellung eines Prozesses einen virtuellen Adressbereich (Graphics Processing Unit, GPU) zu reservieren.
Syntax
DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE DxgkcbReservegpuvirtualaddressrange;
NTSTATUS DxgkcbReservegpuvirtualaddressrange(
[in] IN_CONST_HANDLE hAdapter,
[in/out] INOUT_PDXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE pArgs
)
{...}
Parameter
[in] hAdapter
Ein Handle für den Anzeigeadapter.
[in/out] pArgs
Eine DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE Struktur, die den Vorgang beschreibt.
Rückgabewert
DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE gibt STATUS_SUCCESS zurück, wenn dies erfolgreich ist. Andernfalls wird eine der fehlercodes zurückgegeben, die in ntstatus.hdefiniert sind.
Bemerkungen
Das Reservieren des virtuellen GPU-Adressbereichs ist nur während der Prozesserstellung (d. h. innerhalb des Aufrufs von DxgkDdiCreateProcess) möglich und ist jederzeit ungültig.
Reservierungen sind sowohl bei einem regulären Prozess als auch beim Systemprozess möglich, in dem sich das Systemgerät und der Kontext befinden.
Der erste Eintrag in der Stammseitentabelle (Seitentabelleneintragsindex 0) wird vom Videospeicher-Manager immer als ungültig initialisiert, und die Treiberreservierungen beginnen mit dem Seitentabelleneintragsindex 1. Die Treiberreservierung muss immer ein genaues Vielfaches des virtuellen Adressraums sein, der von der Blattseitentabelle abgedeckt wird, da der spezifische Seitentabelleneintrag nicht zwischen dem Videospeicher-Manager und dem Kernelmodustreiber freigegeben werden kann. Vom Treiber reservierte Seitentabelleneinträge werden als ungültige vom Videospeicher-Manager initialisiert und möglicherweise vom Treiber überschrieben, um auf eine vom Treiber verwaltete intern zugeordnete Seitentabelle zu verweisen. Der Videospeicher-Manager aktualisiert die reservierten Seitentabelleneinträge jedes Mal, wenn die entsprechende Seitentabelle resident wird, als ungültig.
DXGKCB_XXX Funktionen werden von Dxgkrnlimplementiert. Um diese Rückruffunktion zu verwenden, legen Sie die entsprechenden Member von DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE fest, und rufen Sie dann DxgkCbReserveGpuVirtualAddressRange über die DXGKRNL_INTERFACEauf.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10 (WDDM 2.0) |
mindestens unterstützte Server- | Windows Server 2016 |
Zielplattform- | Desktop |
Header- | d3dkmddi.h (include Dispmprt.h) |
IRQL- | <= PASSIVE_LEVEL |