Partager via


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ée. Le handle de contexte a été obtenu à partir de 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ée identifiée par VirtualReserveContext.

Valeur de retour

AgpCommitVirtual retourne l’adresse virtuelle de la base des pages validées si le mappage a réussi ; retourne sinon 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 tout) 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ées à la plage d’adresses physiques réservées 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 déjà 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 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, elle peut retourner une adresse virtuelle non valide.

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

Lorsqu’un pilote 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 pages Offset dans la plage d’adresses virtuelle identifiée par VirtualReserveContext.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
plateforme cible Bureau
d’en-tête videoagp.h (include Video.h)
IRQL PASSIVE_LEVEL

Voir aussi

AgpFreeVirtual

AgpReservePhysical

AgpReserveVirtual