Метод IHostMemoryManager::GetMemoryLoad
Возвращает объем физической памяти, которая используется в данный момент и, следовательно, недоступна, как указано узлом.
Синтаксис
HRESULT GetMemoryLoad (
[out] DWORD* pMemoryLoad,
[out] SIZE_T *pAvailableBytes
);
Параметры
pMemoryLoad
[out] Указатель на приблизительный процент используемой в данный момент физической памяти.
pAvailableBytes
[out] Указатель на количество байтов, доступных для среды CLR.
Возвращаемое значение
HRESULT | Описание: |
---|---|
S_OK | GetMemoryLoad возвращается успешно. |
HOST_E_CLRNOTAVAILABLE | Среда CLR не была загружена в процесс или среда CLR находится в состоянии, в котором она не может выполнить управляемый код или обработать вызов. |
HOST_E_TIMEOUT | Истекло время ожидания звонка. |
HOST_E_NOT_OWNER | Вызывающий объект не является владельцем блокировки. |
HOST_E_ABANDONED | Событие было отменено во время ожидания заблокированного потока или волокна. |
E_FAIL | Произошла неизвестная катастрофическая ошибка. Когда метод возвращает E_FAIL, среда CLR больше не поддерживается в процессе. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE. |
Комментарии
GetMemoryLoad
заключает в оболочку функцию Win32 GlobalMemoryStatus
. Значение pMemoryLoad
является эквивалентом dwMemoryLoad
поля в структуре, возвращаемой MEMORYSTATUS
из GlobalMemoryStatus
.
Среда выполнения использует возвращаемое значение в качестве эвристического для сборщика мусора. Например, если узел сообщает, что используется большая часть памяти, сборщик мусора может выбрать сборщик мусора из нескольких поколений, чтобы увеличить объем памяти, который может стать доступным.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MSCorEE.h
Библиотека: Включено в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с версии 2.0