Freigeben über


PAGP_COMMIT_VIRTUAL Rückruffunktion (videoagp.h)

Die Funktion AgpCommitVirtual ordnet reservierten virtuellen Speicher einem zugeordneten Bereich von AGP-decodierbaren physischen Adressen zu.

Syntax

PAGP_COMMIT_VIRTUAL PagpCommitVirtual;

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

Parameter

[in] HwDeviceExtension

Zeiger auf die Geräteerweiterung des Miniporttreibers".

[in] VirtualReserveContext

Identifiziert einen reservierten virtuellen Adressbereich. Das Kontexthandle wurde von AgpReserveVirtual abgerufen.

[in] Pages

Gibt die Anzahl der zuzuordnenden Seiten des virtuellen Arbeitsspeichers an.

[in] Offset

Gibt den Seitenoffset an, an dem die Seiten committet werden sollen. Der Offset wird auf den reservierten virtuellen Adressbereich angewendet, der von VirtualReserveContext identifiziert wird.

Rückgabewert

AgpCommitVirtual gibt die virtuelle Adresse für die Basis der zugesagten Seiten zurück, wenn die Zuordnung erfolgreich war. gibt andernfalls NULL zurück.

Hinweise

Bevor Sie AgpCommitVirtual aufrufen, um einen Bereich von virtuellen Seiten zu committen, müssen Sie die folgenden Schritte ausführen:

  • Rufen Sie AgpReservePhysical auf, um einen Bereich von physischen Adressen für die GPU zu reservieren.
  • Rufen Sie AgpCommitPhysical auf, um einen Teil (oder alle) der reservierten physischen Adressen gesperrten Seiten im Systemspeicher zuzuordnen.
  • Rufen Sie AgpReserveVirtual auf, um einen Bereich virtueller Adressen zu reservieren, der dem Bereich der von AgpReservePhysical reservierten physischen Adressen zugeordnet ist.
Nachdem diese Elemente abgeschlossen sind, können Sie AgpCommitVirtual aufrufen, um einen Teil der reservierten virtuellen Seiten Seiten seiten zuzuordnen, die bereits von AgpCommitPhysical zugeordnet und gesperrt wurden. Sie dürfen nicht versuchen, eine Seite mit virtuellen Adressen zuzuordnen, wenn die entsprechende Seite mit physischen Adressen noch nicht zugeordnet wurde.

Videominiporttreiber, die unter Microsoft Windows 2000 ausgeführt werden, sollten immer einen virtuellen Bereich mit einem Vielfachen von 64 KB commiten. Wenn Sie AgpCommitVirtual aufrufen, um einen virtuellen Bereich zu committen, der kein Vielfaches von 64 KB ist, kann eine ungültige virtuelle Adresse zurückgegeben werden.

Unter Windows XP und höher erweitert AgpCommitVirtual automatisch den Commitbereich, sodass es sich um ein Vielfaches von 64 KB handelt.

Wenn ein Miniporttreiber AgpCommitVirtual aufruft, wird ein Teil des von VirtualReserveContext identifizierten virtuellen Adressbereichs physischen Adressen zugeordnet. Der zugeordnete Teil beginnt Offsetseiten in den virtuellen Adressbereich, der von VirtualReserveContext identifiziert wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Desktop
Kopfzeile videoagp.h (einschließen von Video.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

AgpFreeVirtual

AgpReservePhysical

AgpReserveVirtual