Partilhar via


Método IHostMemoryManager::VirtualQuery

Serve como um wrapper lógico para a função Win32 correspondente. A implementação win32 do VirtualQuery obtém informações sobre um intervalo de páginas no espaço de endereços 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 consultar.

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

dwLength
[in] O tamanho, em bytes, da memória intermédia que lpBuffer aponta para.

pResult
[fora] Um ponteiro para o número de bytes devolvidos pela memória intermédia de informações.

Devolver Valor

HRESULT Description
S_OK VirtualQuery devolvido com êxito.
HOST_E_CLRNOTAVAILABLE O runtime de linguagem comum (CLR) não foi carregado para um processo ou o CLR está num estado em que não pode executar código gerido ou processar a chamada com êxito.
HOST_E_TIMEOUT A chamada excedeu o limite de tempo.
HOST_E_NOT_OWNER O autor da chamada não é o proprietário do bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera do mesmo.
E_FAIL Ocorreu uma falha catastrófica desconhecida. Quando um método devolve E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE.

Observações

VirtualQuery fornece informações sobre um intervalo de páginas no espaço de endereços virtual do processo de chamada. Esta implementação define o valor do pResult parâmetro para o número de bytes devolvidos na memória intermédia de informações e devolve um valor HRESULT. Na função Win32 VirtualQuery , o valor devolvido é o tamanho da memória intermédia. Para obter mais informações, veja a documentação da Plataforma do Windows.

Importante

A implementação do sistema operativo de VirtualQuery não incorre em impasse e pode ser executada até à conclusão com threads aleatórios suspensos no código do utilizador. Tenha muito cuidado ao implementar uma versão alojada deste método.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

.NET Framework Versões: Disponível desde 2.0

Ver também