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 | 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。 |
E_FAIL | 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
GetMemoryLoad
會包裝 Win32 GlobalMemoryStatus
函式。 pMemoryLoad
的值相當於從 GlobalMemoryStatus
傳回的 MEMORYSTATUS
結構中的 dwMemoryLoad
欄位。
執行階段會使用傳回值作為記憶體回收行程的啟發學習法。 例如,如果主機報告大部分的記憶體正在使用中,記憶體回收行程可能選擇從多個世代回收,以增加可能變成可用的記憶體數量。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 2.0 起可用