Condividi tramite


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 del dispositivo è stato creato correttamente.
STATUS_INVALID_PARAMETER I parametri sono stati convalidati e sono stati determinati in modo che non siano corretti.

Questa funzione potrebbe restituire anche altri valori NTSTATUS.

Osservazioni

Il driver può specificare un indirizzo virtuale della GPU di base (VA) per eseguire il mapping o consentire alla gestione della memoria video di selezionarne una automaticamente. Quando si specifica un valore di BaseAddress non NULL, L'intero intervallo compreso tra baseAddressBaseAddress+ Size deve essere 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 pagine vengono modificate e l'handle di allocazione (se non NULL) definisce la posizione in cui puntano le voci della tabella di pagine. L'allocazione può risiedere in qualsiasi segmento di memoria GPU fisica.

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

Fabbisogno

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

Vedere anche

DxgkCbReserveGpuVirtualAddressRange