Método IHostMemoryManager::GetMemoryLoad
Obtém a quantidade de memória física que está em uso no momento e, portanto, indisponível, conforme relatado pelo host.
Sintaxe
HRESULT GetMemoryLoad (
[out] DWORD* pMemoryLoad,
[out] SIZE_T *pAvailableBytes
);
Parâmetros
pMemoryLoad
[out] Um ponteiro para a porcentagem aproximada da memória física total que está em uso no momento.
pAvailableBytes
[out] Um ponteiro para o número de bytes disponíveis para o CLR (Common Language Runtime).
Valor Retornado
HRESULT | Descrição |
---|---|
S_OK | GetMemoryLoad retornado com êxito. |
HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito. |
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
GetMemoryLoad
encapsula a função GlobalMemoryStatus
Win32. O valor de pMemoryLoad
é o equivalente do campo dwMemoryLoad
na estrutura MEMORYSTATUS
retornada de GlobalMemoryStatus
.
O runtime usa o valor retornado como uma heurística para o coletor de lixo. Por exemplo, se o host relatar que a maioria da memória está em uso, o coletor de lixo poderá decidir coletar de várias gerações para aumentar a quantidade de memória que pode potencialmente ficar disponível.
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