PAGP_RESERVE_VIRTUAL función de devolución de llamada (videoagp.h)
La función AgpReserveVirtual reserva un intervalo de direcciones virtuales para AGP.
Sintaxis
PAGP_RESERVE_VIRTUAL PagpReserveVirtual;
PVOID PagpReserveVirtual(
[in] IN PVOID HwDeviceExtension,
[in] IN HANDLE ProcessHandle,
[in] IN PVOID PhysicalReserveContext,
[out] OUT PVOID *VirtualReserveContext
)
{...}
Parámetros
[in] HwDeviceExtension
Puntero a la extensión del dispositivo del controlador de minipuerto.
[in] ProcessHandle
Identificador del proceso en el que se va a reservar el intervalo de direcciones virtuales. Si ProcessHandle es 0, el intervalo de direcciones virtuales se asigna en el espacio del sistema.
[in] PhysicalReserveContext
Es el identificador de contexto que identifica el intervalo de direcciones físicos reservado con el que se va a asociar la reserva de memoria virtual. Este contexto se obtuvo de AgpReservePhysical.
[out] VirtualReserveContext
Es la ubicación en la que el controlador de puerto de vídeo escribe un identificador de contexto que identifica la memoria virtual reservada.
Valor devuelto
AgpReserveVirtual devuelve la dirección base del intervalo de direcciones virtuales reservadas si se ejecuta correctamente; de lo contrario, devuelve NULL.
Comentarios
Si ProcessHandle no es 0, AgpReserveVirtual se reserva, pero no confirma, un intervalo de direcciones virtuales en el espacio de direcciones de un proceso en modo de usuario. En ese caso, debe llamar a AgpCommitVirtual para asignar las direcciones virtuales reservadas (modo de usuario) a direcciones físicas.
Si ProcessHandle es 0, AgpReserveVirtual asigna un intervalo de direcciones virtuales en el espacio del sistema y asigna automáticamente (confirma) todo el intervalo de direcciones virtuales a direcciones físicas. Aunque AgpReserveVirtual confirma todo el intervalo virtual, debe llamar a AgpCommitVirtual antes de que cualquier código acceda al intervalo virtual.
Al llamar a AgpReserveVirtual para asignar un intervalo de direcciones virtuales en el espacio del sistema (es decir, si establece ProcessHandle en 0), todo el intervalo de direcciones físicas identificadas por PhysicalReserveContext debe confirmarse en páginas bloqueadas de memoria física mediante una llamada anterior a AgpCommitPhysical.
El controlador de minipuerto puede llamar a AgpReleaseVirtual varias veces para reservar muchos intervalos de direcciones más pequeños en lugar de un gran rango.
El controlador de minipuerto debe llamar a AgpReleaseVirtual para liberar el intervalo de direcciones virtuales reservado cuando ya no sea necesario.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Escritorio |
Encabezado | videoagp.h (incluya Video.h) |
IRQL | PASSIVE_LEVEL |