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 |