Partager via


DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE fonction de rappel (d3dkmddi.h)

Un pilote miniport en mode noyau peut appeler DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE pour réserver une plage d’adresses virtuelles d’unité de traitement graphique (GPU) lors de la création d’un processus.

Syntaxe

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE DxgkcbReservegpuvirtualaddressrange;

NTSTATUS DxgkcbReservegpuvirtualaddressrange(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] INOUT_PDXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE pArgs
)
{...}

Paramètres

[in] hAdapter

Handle de l’adaptateur d’affichage.

[in/out] pArgs

Structure DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE qui décrit l’opération.

Valeur de retour

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE retourne STATUS_SUCCESS si elle réussit. Sinon, elle retourne l’un des codes d’erreur définis dans Ntstatus.h.

Remarques

La réservation de la plage d’adresses virtuelles GPU est possible uniquement pendant la création du processus (c’est-à-dire dans l’appel à DxgkDdiCreateProcess) et n’est pas valide à tout autre moment.

La réservation est possible à la fois sur un processus régulier ainsi que sur le processus système où réside l’appareil système et le contexte.

La première entrée dans la table de pages racine (index d’entrée de table de page 0) est toujours initialisée comme non valide par le gestionnaire de mémoire vidéo et les réservations de pilotes démarrent à partir de l’index d’entrée de table de page 1. La réservation de pilotes doit toujours être un multiple exact d’espace d’adressage virtuel, couvert par la table de pages feuilles, car l’entrée de table de page spécifique ne peut pas être partagée entre le gestionnaire de mémoire vidéo et le pilote en mode noyau. Les entrées de table de pages réservées par le pilote sont initialisées en tant que non valides par le gestionnaire de mémoire vidéo et peuvent être remplacées par le pilote pour référencer une table de pages allouée en interne gérée par le pilote. Le gestionnaire de mémoire vidéo met à jour les entrées de la table de pages réservées comme non valides chaque fois que la table de pages correspondante devient résidente.

DXGKCB_XXX fonctions sont implémentées par Dxgkrnl. Pour utiliser cette fonction de rappel, définissez les membres appropriés de DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE, puis appelez DxgkCbReserveGpuVirtualAddressRange via le DXGKRNL_INTERFACE.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10 (WDDM 2.0)
serveur minimum pris en charge Windows Server 2016
plateforme cible Bureau
d’en-tête d3dkmddi.h (include Dispmprt.h)
IRQL <= PASSIVE_LEVEL

Voir aussi

DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE

DxgkDdiCreateProcess

DXGKRNL_INTERFACE