Função ZwQueryVirtualMemory (ntifs.h)
A rotina
Sintaxe
NTSYSAPI NTSTATUS ZwQueryVirtualMemory(
[in] HANDLE ProcessHandle,
[in, optional] PVOID BaseAddress,
[in] MEMORY_INFORMATION_CLASS MemoryInformationClass,
[out] PVOID MemoryInformation,
[in] SIZE_T MemoryInformationLength,
[out, optional] PSIZE_T ReturnLength
);
Parâmetros
[in] ProcessHandle
Um identificador para o processo em cujo contexto as páginas a serem consultadas residem. Use a macro
[in, optional] BaseAddress
O endereço base da região das páginas a serem consultadas. Esse valor é arredondado para baixo para o próximo limite de endereço da página de host.
[in] MemoryInformationClass
A classe de informações de memória sobre a qual recuperar informações. Atualmente, o único valor de MEMORY_INFORMATION_CLASS com suporte é MemoryBasicInformation.
[out] MemoryInformation
Um ponteiro para um buffer que recebe as informações especificadas. O formato e o conteúdo do buffer dependem da classe de informações especificada especificada no parâmetro MemoryInformationClass. Quando o valor MemoryBasicInformation é passado para MemoryInformationClass, o valor do parâmetro MemoryInformation é uma estrutura MEMORY_BASIC_INFORMATION.
[in] MemoryInformationLength
Especifica o comprimento em bytes do buffer de informações de memória.
[out, optional] ReturnLength
Um ponteiro opcional que, se especificado, recebe o número de bytes colocados no buffer de informações de memória.
Valor de retorno
Retorna STATUS_SUCCESS se a chamada for bem-sucedida. Se a chamada falhar, os códigos de erro possíveis incluem o seguinte:
Código de retorno | Descrição |
---|---|
STATUS_INVALID_PARAMETER | O endereço base especificado está fora do intervalo de endereços acessíveis. |
STATUS_ACCESS_DENIED | O chamador não tinha direitos de acesso suficientes para executar a ação solicitada. |
STATUS_INFO_LENGTH_MISMATCH | O buffer MemoryInformation |
STATUS_INVALID_INFO_CLASS | Um valor diferente de |
Observações
ZwQueryVirtualMemory determina o estado da primeira página dentro da região e verifica as entradas subsequentes no mapa de endereços do processo do endereço base para cima até que todo o intervalo de páginas tenha sido verificado ou até que uma página com um conjunto de atributos não correspondente seja encontrada. Os atributos de região, o comprimento da região das páginas com atributos correspondentes e um valor de status apropriado são retornados.
Se toda a região das páginas não tiver um conjunto correspondente de atributos, o valor do parâmetro ReturnLength poderá ser usado para calcular o endereço e o comprimento da região das páginas que não foram verificadas.
NtQueryVirtualMemory e ZwQueryVirtualMemory são duas versões da mesma rotina dos Serviços de Sistema Nativo do Windows.
Para chamadas de drivers no modo kernel, as versões NtXxx**** e ZwXxx**** de uma rotina dos Serviços de Sistema Nativo do Windows podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas de serviços do sistema nativo.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 |
da Plataforma de Destino |
Universal |
cabeçalho | ntifs.h |
biblioteca | NtosKrnl.lib |
de DLL |
NtosKrnl.exe |