分享方式:


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 起可用

另請參閱