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 |