structure D3DDDI_RESERVEGPUVIRTUALADDRESS (d3dukmdt.h)
Le pilote graphique en mode utilisateur passe D3DDDI_RESERVEGPUVIRTUALADDRESS au rappel pfnReserveGpuVirtualAddressCb du runtime D3D pour réserver une plage d’adresses dans l’espace d’adressage virtuel GPU du processus actuel.
Syntaxe
typedef struct D3DDDI_RESERVEGPUVIRTUALADDRESS {
union {
D3DKMT_HANDLE hPagingQueue;
D3DKMT_HANDLE hAdapter;
};
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS BaseAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
D3DKMT_ALIGN64 D3DGPU_SIZE_T Size;
union {
D3DDDIGPUVIRTUALADDRESS_RESERVATION_TYPE ReservationType;
UINT Reserved0;
};
union {
D3DKMT_ALIGN64 UINT64 DriverProtection;
D3DKMT_ALIGN64 UINT64 Reserved1;
};
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
union {
D3DKMT_ALIGN64 UINT64 PagingFenceValue;
D3DKMT_ALIGN64 UINT64 Reserved2;
};
} D3DDDI_RESERVEGPUVIRTUALADDRESS;
Membres
hPagingQueue
Ce membre est obsolète. Ne l’utilisez pas.
hAdapter
[in] Poignée de carte graphique DirectX ou zéro (0). Si UMD définit hAdapter défini sur 0, le runtime D3D affecte hAdapter au D3DKMT_HANDLE du noyau avant d’appeler l’interface noyau D3DKMTReserveGpuVirtualAddress.
BaseAddress
[in/optional] Nombre d’octets à réserver dans l’espace d’adressage virtuel GPU. baseAddress doit être alignée sur une limite de 64 Ko.
Si BaseAddress n’est pas NULL, le gestionnaire de mémoire vidéo tente d’utiliser cette adresse comme adresse de base pour la plage réservée. Si la plage de BaseAddress à BaseAddress+Size n’est pas gratuite, l’appel échoue. Lorsque BaseAddress n’est pas NULL, minimumAddress et MaximumAddress sont ignorés.
Si la valeur NULL est spécifiée, le gestionnaire de mémoire vidéo sélectionne l’adresse de base de l’allocation dans le MinimumAddress
MinimumAddress
[in/optional] Adresse virtuelle GPU minimale à prendre en compte pour la plage réservée. minimumAddress est en octets et doit être aligné sur la limite de 64 Ko. Elle est ignorée quand baseAddress n’est pas NULL.
MaximumAddress
[in/optional] Adresse virtuelle GPU maximale à prendre en compte pour la plage réservée. Le gestionnaire de mémoire vidéo garantit que BaseAddress+Size<= MaximumAddress. Si maximumAddress a la valeur NULL, le gestionnaire de mémoire vidéo n’applique aucune limite.
maximumAddress est en octets et doit être aligné sur une limite de 64 Ko. Elle est ignorée quand baseAddress n’est pas NULL.
Size
[in] Taille de la plage à réserver, en octets. Doit être un multiple de 64 Ko.
ReservationType
Ce membre est obsolète. Ne l’utilisez pas.
Reserved0
Ce membre est réservé et doit être défini sur zéro.
DriverProtection
Ce membre est obsolète. Ne l’utilisez pas.
Reserved1
Ce membre est réservé et doit être défini sur zéro.
VirtualAddress
[out] Adresse virtuelle réservée.
PagingFenceValue
Ce membre est obsolète. Ne l’utilisez pas.
Reserved2
Ce membre est réservé et doit être défini sur zéro.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10 |
serveur minimum pris en charge | Windows Server 2016 |
d’en-tête | d3dukmdt.h (include D3dumddi.h, D3dkmddi.h) |