PAGP_COMMIT_VIRTUAL funzione di callback (videoagp.h)
La funzione AgpCommitVirtual esegue il mapping della memoria virtuale riservata a un intervallo associato di indirizzi fisici decodificabili AGP.
Sintassi
PAGP_COMMIT_VIRTUAL PagpCommitVirtual;
PVOID PagpCommitVirtual(
[in] IN PVOID HwDeviceExtension,
[in] IN PVOID VirtualReserveContext,
[in] IN ULONG Pages,
[in] IN ULONG Offset
)
{...}
Parametri
[in] HwDeviceExtension
Puntatore all'estensione del dispositivo del driver miniport".
[in] VirtualReserveContext
Identifica un intervallo di indirizzi virtuali riservato. L'handle di contesto è stato ottenuto da AgpReserveVirtual.
[in] Pages
Specifica il numero di pagine di memoria virtuale di cui eseguire il mapping.
[in] Offset
Specifica l'offset di pagina in corrispondenza del quale eseguire il commit delle pagine. L'offset viene applicato all'intervallo di indirizzi virtuali riservato identificato da VirtualReserveContext.
Valore restituito
AgpCommitVirtual restituisce l'indirizzo virtuale per la base delle pagine di cui è stato eseguito il commit se il mapping è riuscito; in caso contrario restituisce NULL.
Commenti
Prima di chiamare AgpCommitVirtual per eseguire il commit di un intervallo di pagine virtuali, è necessario eseguire le operazioni seguenti:
- Chiamare AgpReservePhysical per riservare un intervallo di indirizzi fisici da usare per la GPU.
- Chiamare AgpCommitPhysical per eseguire il mapping di una parte (o di tutti) degli indirizzi fisici riservati alle pagine bloccate nella memoria di sistema.
- Chiamare AgpReserveVirtual per riservare un intervallo di indirizzi virtuali associati all'intervallo di indirizzi fisici riservati da AgpReservePhysical.
I driver miniport video eseguiti in Microsoft Windows 2000 devono sempre eseguire il commit di un intervallo virtuale la cui dimensione è un multiplo di 64 kilobyte. Se si chiama AgpCommitVirtual per eseguire il commit di un intervallo virtuale che non è un multiplo di 64 kilobyte, può restituire un indirizzo virtuale non valido.
In Windows XP e versioni successive AgpCommitVirtual espande automaticamente l'intervallo di commit in modo che sia un multiplo di 64 kilobyte.
Quando un driver miniport chiama AgpCommitVirtual, viene eseguito il mapping di una parte dell'intervallo di indirizzi virtuali identificato da VirtualReserveContext agli indirizzi fisici. La parte mappata inizia le pagine Offset nell'intervallo di indirizzi virtuali identificato da VirtualReserveContext.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | videoagp.h (include Video.h) |
IRQL | PASSIVE_LEVEL |