Fonction D3DKMTMapGpuVirtualAddress (d3dkmthk.h)

D3DKMTMapGpuVirtualAddress mappe une plage d’adresses virtuelles GPU à une plage d’allocation spécifique ou la place à l’état Non valide ou Zéro .

Syntaxe

NTSTATUS D3DKMTMapGpuVirtualAddress(
  D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam1
);

Paramètres

unnamedParam1

[in/out] pData est un pointeur vers une structure D3DDDI_MAPGPUVIRTUALADDRESS qui décrit l’opération.

Valeur retournée

Code de retour Description
STATUS_SUCCESS Le contexte de l’appareil a été créé avec succès.
STATUS_INVALID_PARAMETER Les paramètres ont été validés et déterminés comme incorrects.

Cette fonction peut également retourner d’autres valeurs NTSTATUS .

Remarques

Le pilote peut spécifier une adresse virtuelle GPU de base (VA) à mapper ou laisser le gestionnaire de mémoire vidéo en choisir automatiquement une. Lors de la spécification d’une valeur BaseAddress non NULL, l’ensemble de la plage entre BaseAddress et BaseAddress+Size doit être dans un état libéré ou appartenir à une plage VA obtenue en appelant D3DKMTMapGpuVirtualAddress ou DxgkCbReserveGpuVirtualAddressRange. Lorsque Protection.Zero ou Protection.NoAccess est spécifié, la plage VA ne peut pas appartenir à une plage obtenue en appelant MapGpuVirtualAddressCb.

Le pilote peut spécifier si le mappage doit autoriser des privilèges d’écriture et d’exécution en plus des privilèges de lecture, qui existent toujours par défaut.

Dans la configuration de l’adaptateur d’affichage lié (LDA), la file d’attente de pagination définit un GPU physique dont les tables de pages sont modifiées, et le handle d’allocation (si ce n’est pas NULL) définit l’emplacement vers lequel pointent les entrées de table de pages. L’allocation peut être résidente dans n’importe quel segment de mémoire GPU physique.

La plage VA GPU, qui est allouée par l’API, est libérée lorsque l’allocation (l’va GPU est mappée à) est détruite. La plage VA peut également être libérée en appelant D3DKMTFreeGpuVirtualAddress, mais cela doit être synchronisé avec la destruction de l’allocation si nécessaire.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
Serveur minimal pris en charge Windows Server 2016
Plateforme cible Universal
En-tête d3dkmthk.h (inclure D3dkmthk.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

DxgkCbReserveGpuVirtualAddressRange