PFND3DDDI_MAPGPUVIRTUALADDRESSCB fonction de rappel (d3dumddi.h)
pfnMapGpuVirtualAddressCb mappe les plages d’adresses virtuelles GPU à une plage d’allocation spécifique ou la place à l’état non valide ou État de Zéro.
Syntaxe
PFND3DDDI_MAPGPUVIRTUALADDRESSCB Pfnd3dddiMapgpuvirtualaddresscb;
HRESULT Pfnd3dddiMapgpuvirtualaddresscb(
HANDLE hDevice,
D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam2
)
{...}
Paramètres
hDevice
Handle vers l’appareil d’affichage.
unnamedParam2
[in/out] pDate est un pointeur vers une structure D3DDDI_MAPGPUVIRTUALADDRESS qui décrit l’opération à effectuer.
Valeur de retour
pfnMapGpuVirtualAddressCb retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
S_OK | L’opération s’est terminée avec succès. |
E_PENDING | L’appel a réussi, mais l’opération n’est pas terminée. L’appelant doit attendre la valeur de clôture retournée avant d’accéder à l’allocation. |
Cette fonction peut également retourner d’autres valeurs.
Remarques
Le pilote en mode utilisateur peut spécifier une adresse virtuelle GPU de base à mapper ou laisser le gestionnaire de mémoire vidéo en choisir automatiquement un. Lors de la spécification d’une valeur BaseAddress non NULL, la plage entière entre BaseAddress et BaseAddress+Size doit être dans un état libéré ou appartenir à une plage VA obtenue en appelant pfnMapGpuVirtualAddressCb ou pfnReserveGpuVirtualAddressCb. Lorsque Protection.Zero ou Protection.NoAccess est spécifié, la plage VA ne peut pas appartenir à une plage obtenue en appelant pfnMapGpuVirtualAddressCb.
Le pilote en mode utilisateur peut spécifier si le mappage doit autoriser les 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 (s’il n’est pas NULL) définit où les entrées de la table de pages pointent vers. 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é à) est détruite. La plage VA peut également être libérée en appelant PFND3DDDI_FREEGPUVIRTUALADDRESSCB, mais elle doit être synchronisée avec la destruction de l’allocation si nécessaire.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10 |
serveur minimum pris en charge | Windows Server 2016 |
plateforme cible | Bureau |
d’en-tête | d3dumddi.h (include D3dumddi.h) |