Partager via


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 spécifié et MaximumAddress.

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)

Voir aussi

pfnReserveGpuVirtualAddressCb