Freigeben über


PAGP_COMMIT_VIRTUAL Rückruffunktion (videoagp.h)

Die AgpCommitVirtual--Funktion ordnet reservierten virtuellen Speicher einem zugeordneten AGP-decodierbaren physischen Adressbereich 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 AgpReserveVirtualabgerufen.

[in] Pages

Gibt die Anzahl der Seiten des virtuellen Speichers an, die zugeordnet werden sollen.

[in] Offset

Gibt den Seitenoffset an, bei dem die Seiten commit ausgeführt werden sollen. Der Offset wird auf den reservierten virtuellen Adressbereich angewendet, der durch VirtualReserveContextidentifiziert wird.

Rückgabewert

AgpCommitVirtual gibt die virtuelle Adresse für die Basis der zugesicherten Seiten zurück, wenn die Zuordnung erfolgreich war; andernfalls wird NULL-zurückgegeben.

Bemerkungen

Bevor Sie AgpCommitVirtual- aufrufen, um einen Bereich virtueller Seiten zu übernehmen, müssen Sie folgendes ausführen:

  • Rufen Sie AgpReservePhysical- auf, um einen Bereich physischer Adressen für die zu verwendende 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 physischen Adressen zugeordnet ist, die von AgpReservePhysicalreserviert sind.
Nach Abschluss dieser Elemente können Sie AgpCommitVirtual- aufrufen, um einen Teil der reservierten virtuellen Seiten seiten zuzuordnen, die bereits von AgpCommitPhysicalzugeordnet 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.

Video-Miniporttreiber, die unter Microsoft Windows 2000 ausgeführt werden, sollten immer einen virtuellen Bereich ausführen, dessen Größe ein Vielfaches von 64 KB ist. Wenn Sie AgpCommitVirtual- aufrufen, um einen virtuellen Bereich zu übernehmen, der nicht ein Vielfaches von 64 KB ist, kann eine ungültige virtuelle Adresse zurückgegeben werden.

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

Wenn ein Miniporttreiber AgpCommitVirtualaufruft, wird ein Teil des virtuellen Adressbereichs, der durch VirtualReserveContext- identifiziert wird, physischen Adressen zugeordnet. Der zugeordnete Teil beginnt Offset- Seiten in den virtuellen Adressbereich, der durch VirtualReserveContext-identifiziert wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 2000 und höheren Versionen von Windows-Betriebssystemen.
Zielplattform- Desktop
Header- videoagp.h (video.h einschließen)
IRQL- PASSIVE_LEVEL

Siehe auch

AgpFreeVirtual-

AgpReservePhysical

AgpReserveVirtual-