Поделиться через


Метод 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

См. также раздел