Condividi tramite


PAGP_RESERVE_VIRTUAL funzione di callback (videoagp.h)

La funzione AgpReserveVirtual riserva un intervallo di indirizzi virtuali per AGP.

Sintassi

PAGP_RESERVE_VIRTUAL PagpReserveVirtual;

PVOID PagpReserveVirtual(
  [in]  IN PVOID HwDeviceExtension,
  [in]  IN HANDLE ProcessHandle,
  [in]  IN PVOID PhysicalReserveContext,
  [out] OUT PVOID *VirtualReserveContext
)
{...}

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo del driver miniport.

[in] ProcessHandle

Handle del processo in cui riservare l'intervallo di indirizzi virtuali. Se ProcessHandle è 0, l'intervallo di indirizzi virtuali viene allocato nello spazio di sistema.

[in] PhysicalReserveContext

Handle di contesto che identifica l'intervallo di indirizzi fisici riservati con cui associare la prenotazione di memoria virtuale. Questo contesto è stato ottenuto da AgpReservePhysical.

[out] VirtualReserveContext

Posizione in cui il driver della porta video scrive un handle di contesto che identifica la memoria virtuale riservata.

Valore restituito

AgpReserveVirtual restituisce l'indirizzo di base dell'intervallo di indirizzi virtuale riservato se ha esito positivo; in caso contrario, restituisce NULL.

Commenti

Se ProcessHandle non è 0, AgpReserveVirtual riserva, ma non esegue il commit, un intervallo di indirizzi virtuali nello spazio indirizzi di un processo in modalità utente. In tal caso, è necessario chiamare AgpCommitVirtual per eseguire il mapping degli indirizzi virtuali riservati (modalità utente) agli indirizzi fisici.

Se ProcessHandle è 0, AgpReserveVirtual alloca un intervallo di indirizzi virtuali nello spazio di sistema e esegue automaticamente il mapping (commit) all'intera gamma di indirizzi virtuali agli indirizzi fisici. Anche se AgpReserveVirtual esegue il commit dell'intero intervallo virtuale, è comunque necessario chiamare AgpCommitVirtual prima di accedere all'intervallo virtuale.

Quando si chiama AgpReserveVirtual per allocare un intervallo di indirizzi virtuali nello spazio di sistema, ovvero se si imposta ProcessHandle su 0, l'intero intervallo di indirizzi fisici identificati da PhysicalReserveContext deve essere eseguito il commit in pagine bloccate di memoria fisica da una chiamata precedente a AgpCommitPhysical.

Il driver miniport può chiamare AgpReleaseVirtual più volte per riservare molti intervalli di indirizzi più piccoli anziché un intervallo di grandi dimensioni.

Il driver miniport deve chiamare AgpReleaseVirtual per rilasciare l'intervallo di indirizzi virtuali riservato quando non è più necessario.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Desktop
Intestazione videoagp.h (includere Video.h)
IRQL PASSIVE_LEVEL

Vedi anche

AgpCommitPhysical

AgpCommitVirtual

AgpReleaseVirtual

AgpReservePhysical