Funzione D3DKMTMapGpuVirtualAddress (d3dkmthk.h)

D3DKMTMapGpuVirtualAddress esegue il mapping di un intervallo di indirizzi virtuali GPU a un intervallo di allocazione specifico o lo inserisce nello stato Non valido o Zero .

Sintassi

NTSTATUS D3DKMTMapGpuVirtualAddress(
  D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam1
);

Parametri

unnamedParam1

[in/out] pData è un puntatore a una struttura D3DDDI_MAPGPUVIRTUALADDRESS che descrive l'operazione.

Valore restituito

Codice restituito Descrizione
STATUS_SUCCESS Il contesto di dispositivo è stato creato correttamente.
STATUS_INVALID_PARAMETER I parametri sono stati convalidati e sono stati determinati come non corretti.

Questa funzione potrebbe anche restituire altri valori NTSTATUS .

Commenti

Il driver può specificare un indirizzo virtuale GPU di base (VA) per eseguire il mapping o consentire al gestore della memoria video di selezionarne automaticamente uno. Quando si specifica un valore BaseAddress non NULL, l'intero intervallo compreso tra BaseAddress e BaseAddress+Size deve trovarsi in uno stato libero o appartenere a un intervallo va ottenuto chiamando D3DKMTMapGpuVirtualAddress o DxgkCbReserveGpuVirtualAddressRange. Quando si specifica Protection.Zero o Protection.NoAccess , l'intervallo va non può appartenere a un intervallo ottenuto chiamando MapGpuVirtualAddressCb.

Il driver può specificare se il mapping deve consentire privilegi di scrittura ed esecuzione oltre ai privilegi di lettura, che esistono sempre per impostazione predefinita.

Nella configurazione dell'adattatore di visualizzazione collegato (LDA) la coda di paging definisce una GPU fisica le cui tabelle di pagina vengono modificate e l'handle di allocazione (se non NULL) definisce la posizione in cui puntano le voci della tabella di pagina. L'allocazione può risiedere in qualsiasi segmento di memoria GPU fisica.

L'intervallo di valutazione della GPU, allocato dall'API, viene liberato quando l'allocazione (viene mappata la GPU VA a) viene eliminata definitivamente. L'intervallo VA può essere liberato anche chiamando D3DKMTFreeGpuVirtualAddress, ma deve essere sincronizzato con la distruzione dell'allocazione, se necessario.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Piattaforma di destinazione Universale
Intestazione d3dkmthk.h (include D3dkmthk.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

DxgkCbReserveGpuVirtualAddressRange