Método IHostMemoryManager::GetMemoryLoad

Obtém a quantidade de memória física que está atualmente a ser utilizada e, portanto, indisponível, conforme comunicado pelo anfitrião.

Sintaxe

HRESULT GetMemoryLoad (  
    [out] DWORD*  pMemoryLoad,
    [out] SIZE_T  *pAvailableBytes  
);  

Parâmetros

pMemoryLoad
[fora] Um ponteiro para a percentagem aproximada da memória física total que está atualmente a ser utilizada.

pAvailableBytes
[fora] Um ponteiro para o número de bytes disponíveis para o runtime de idioma comum (CLR).

Devolver Valor

HRESULT Description
S_OK GetMemoryLoad devolvido com êxito.
HOST_E_CLRNOTAVAILABLE O 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

GetMemoryLoad molda a função Win32 GlobalMemoryStatus . O valor de pMemoryLoad é o equivalente ao dwMemoryLoad campo na MEMORYSTATUS estrutura devolvida a partir de GlobalMemoryStatus.

O runtime utiliza o valor devolvido como heurístico para o recoletor de lixo. Por exemplo, se o anfitrião indicar que a maior parte da memória está a ser utilizada, o recoletor de lixo poderá optar por recolher de várias gerações para aumentar a quantidade de memória que pode potencialmente ficar disponível.

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