PAGP_COMMIT_VIRTUAL fonction de rappel (videoagp.h)

La fonction AgpCommitVirtual mappe la mémoire virtuelle réservée à une plage associée d’adresses physiques décodables AGP.

Syntaxe

PAGP_COMMIT_VIRTUAL PagpCommitVirtual;

PVOID PagpCommitVirtual(
  [in] IN PVOID HwDeviceExtension,
  [in] IN PVOID VirtualReserveContext,
  [in] IN ULONG Pages,
  [in] IN ULONG Offset
)
{...}

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique du pilote miniport'.

[in] VirtualReserveContext

Identifie une plage d’adresses virtuelles réservées. Le handle de contexte a été obtenu à partir d’AgpReserveVirtual.

[in] Pages

Spécifie le nombre de pages de mémoire virtuelle à mapper.

[in] Offset

Spécifie le décalage de page auquel valider les pages. Le décalage est appliqué à la plage d’adresses virtuelles réservées identifiée par VirtualReserveContext.

Valeur retournée

AgpCommitVirtual retourne l’adresse virtuelle pour la base des pages validées si le mappage a réussi ; dans le cas contraire, retourne NULL.

Remarques

Avant d’appeler AgpCommitVirtual pour valider une plage de pages virtuelles, vous devez effectuer les opérations suivantes :

  • Appelez AgpReservePhysical pour réserver une plage d’adresses physiques que le GPU doit utiliser.
  • Appelez AgpCommitPhysical pour mapper une partie (ou la totalité) des adresses physiques réservées aux pages verrouillées dans la mémoire système.
  • Appelez AgpReserveVirtual pour réserver une plage d’adresses virtuelles associée à la plage d’adresses physiques réservée par AgpReservePhysical.
Une fois ces éléments terminés, vous pouvez appeler AgpCommitVirtual pour mapper une partie des pages virtuelles réservées aux pages qui ont déjà été mappées et verrouillées par AgpCommitPhysical. Vous ne devez pas tenter de mapper une page d’adresses virtuelles si la page correspondante d’adresses physiques n’a pas déjà été mappée.

Les pilotes de miniport vidéo qui s’exécutent sur Microsoft Windows 2000 doivent toujours valider une plage virtuelle dont la taille est un multiple de 64 kilo-octets. Si vous appelez AgpCommitVirtual pour valider une plage virtuelle qui n’est pas un multiple de 64 kilo-octets, il peut retourner une adresse virtuelle non valide.

Sur Windows XP et versions ultérieures, AgpCommitVirtual étend automatiquement la plage validée afin qu’elle soit un multiple de 64 kilo-octets.

Lorsqu’un pilote de miniport appelle AgpCommitVirtual, une partie de la plage d’adresses virtuelle identifiée par VirtualReserveContext est mappée aux adresses physiques. La partie mappée commence à décaler les pages dans la plage d’adresses virtuelle identifiée par VirtualReserveContext.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête videoagp.h (incluez Video.h)
IRQL PASSIVE_LEVEL

Voir aussi

AgpFreeVirtual

AgpReservePhysical

AgpReserveVirtual