Compartilhar via


PAGP_RESERVE_VIRTUAL função de retorno de chamada (videoagp.h)

A função AgpReserveVirtual reserva um intervalo de endereços virtuais para a AGP.

Sintaxe

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

Ponteiro para a extensão de dispositivo do driver de miniport.

[in] ProcessHandle

Identificador do processo no qual reservar o intervalo de endereços virtuais. Se ProcessHandle for 0, o intervalo de endereços virtuais será alocado no espaço do sistema.

[in] PhysicalReserveContext

É o identificador de contexto que identifica o intervalo de endereços físicos reservado ao qual associar a reserva de memória virtual. Esse contexto foi obtido de AgpReservePhysical.

[out] VirtualReserveContext

É o local em que o driver de porta de vídeo grava um identificador de contexto que identifica a memória virtual reservada.

Retornar valor

AgpReserveVirtual retornará o endereço base do intervalo de endereços virtuais reservado se tiver êxito; caso contrário, retornará NULL.

Comentários

Se ProcessHandle não for 0, AgpReserveVirtual reservará, mas não confirmará, um intervalo de endereços virtuais no espaço de endereço de um processo de modo de usuário. Nesse caso, você deve chamar AgpCommitVirtual para mapear os endereços virtuais reservados (modo de usuário) para endereços físicos.

Se ProcessHandle for 0, AgpReserveVirtual alocará um intervalo de endereços virtuais no espaço do sistema e mapeará automaticamente (confirma) todo o intervalo de endereços virtuais para endereços físicos. Embora AgpReserveVirtual confirme todo o intervalo virtual, você ainda deve chamar AgpCommitVirtual antes que qualquer código acesse o intervalo virtual.

Quando você chama AgpReserveVirtual para alocar um intervalo de endereços virtuais no espaço do sistema (ou seja, se você definir ProcessHandle como 0), todo o intervalo de endereços físicos identificados por PhysicalReserveContext deve ser confirmado em páginas bloqueadas de memória física por uma chamada anterior para AgpCommitPhysical.

O driver de miniporta pode chamar AgpReleaseVirtual várias vezes para reservar muitos intervalos de endereços menores em vez de um grande intervalo.

O driver de miniporto deve chamar AgpReleaseVirtual para liberar o intervalo de endereços virtuais reservados quando ele não for mais necessário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho videoagp.h (inclua Video.h)
IRQL PASSIVE_LEVEL

Confira também

AgpCommitPhysical

AgpCommitVirtual

AgpReleaseVirtual

AgpReservePhysical