Compartilhar via


Método IHostMemoryManager::VirtualQuery

Serve como um wrapper lógico para a função Win32 correspondente. A implementação de Win32 de VirtualQuery recupera as informações sobre um intervalo de páginas no espaço de endereço virtual do processo de chamada.

Sintaxe

HRESULT VirtualQuery (  
    [in]  void*    lpAddress,  
    [out] void*    lpBuffer,  
    [in]  SIZE_T   dwLength,  
    [out] SIZE_T*  pResult  
);  

Parâmetros

lpAddress
[in] Um ponteiro para o endereço na memória virtual a ser consultado.

lpBuffer
[out] Um ponteiro para uma estrutura que contém informações sobre a região de memória especificada.

dwLength
[in] O tamanho, em bytes, do buffer que lpBuffer aponta.

pResult
[out] Um ponteiro para o número de bytes retornado pelo buffer de informações.

Valor Retornado

HRESULT Descrição
S_OK VirtualQuery retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR (Common Language Runtime) não foi carregado em um processo ou está em um estado no qual não pode executar o código gerenciado ou processar a chamada com sucesso.
HOST_E_TIMEOUT Uma chamada atingiu o tempo limite.
HOST_E_NOT_OWNER O chamador não possui o bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele.
E_FAIL Uma falha catastrófica desconhecida ocorreu. Quando um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE.

Comentários

VirtualQuery fornece as informações sobre um intervalo de páginas no espaço de endereço virtual do processo de chamada. Essa implementação define o valor do parâmetro pResult como o número de bytes retornados no buffer de informações e retorna um valor HRESULT. Na função VirtualQuery do Win32, o valor retornado é o tamanho do buffer. Para obter mais informações, confira a documentação da plataforma Windows.

Importante

A implementação de VirtualQuery do sistema operacional não incorre em deadlock e poderá executar até a conclusão com threads aleatórios suspensos no código do usuário. Tenha muito cuidado ao implementar uma versão hospedada desse método.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MSCorEE.h

Biblioteca: incluída como um recurso no MSCorEE.dll

Versões do .NET Framework: disponíveis desde 2.0

Confira também