DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE Rückruffunktion (d3dkmddi.h)

Ein Kernelmodus-Anzeige-Miniporttreiber kann DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE aufrufen, um einen virtuellen GPU-Adressbereich (Graphics Processing Unit) während der Erstellung eines Prozesses 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 Grafikkarten.

[in/out] pArgs

Eine DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE-Struktur , die den Vorgang beschreibt.

Rückgabewert

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE gibt bei Erfolg STATUS_SUCCESS zurück. Andernfalls wird einer der in "Ntstatus.h" definierten Fehlercodes zurückgegeben.

Hinweise

Das Reservieren des virtuellen GPU-Adressbereichs ist nur während der Prozesserstellung (d. h. innerhalb des Aufrufs von DxgkDdiCreateProcess) möglich und ist zu jedem anderen Zeitpunkt ungültig.

Reservierungen sind sowohl für einen regulären Prozess als auch für den 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 exaktes 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 vom Videospeicher-Manager als ungültig initialisiert und können vom Treiber überschrieben werden, um auf eine intern zugeordnete Seitentabelle zu verweisen, die vom Treiber verwaltet wird. Der Videospeicher-Manager aktualisiert die Einträge der reservierten Seitentabelle jedes Mal als ungültig, wenn die entsprechende Seitentabelle resident wird.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 (WDDM 2.0)
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Desktop
Kopfzeile d3dkmddi.h (include Dispmprt.h)
IRQL <= PASSIVE_LEVEL

Weitere Informationen

DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE

DxgkDdiCreateProcess

DXGKRNL_INTERFACE