共用方式為


IHostMemoryManager::GetMemoryLoad 方法

取得目前使用中 (因此無法使用) 的實體記憶體數量,如主應用程式所報告。

HRESULT GetMemoryLoad (
    [out] DWORD*  pMemoryLoad, 
    [out] SIZE_T  *pAvailableBytes
);

參數

  • pMemoryLoad
    [out] 目前使用中的總實體記憶體的大約百分比指標。

  • pAvailableBytes
    [out] Common Language Runtime (CLR) 可用的位元組數目指標。

傳回值

HRESULT

描述

S_OK

GetMemoryLoad 已成功傳回。

HOST_E_CLRNOTAVAILABLE

CLR 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。

HOST_E_TIMEOUT

呼叫已逾時。

HOST_E_NOT_OWNER

呼叫端不具備鎖定功能。

HOST_E_ABANDONED

已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。

E_FAIL

發生未知的重大錯誤。 當方法傳回 E_FAIL 時,便無法在處理序內使用 CLR。 對裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。

備註

GetMemoryLoad 會包裝 Win32 GlobalMemoryStatus 函式。 pMemoryLoad 的值等於在 MEMORYSTATUS 結構中從 GlobalMemoryStatus 所傳回的 dwMemoryLoad 欄位。

執行階段會將此傳回值當做記憶體回收行程的啟發學習法 (Heuristic) 使用。 例如,如果主應用程式報告大多數的記憶體在使用中,則記憶體回收行程可能會選擇從多個層代進行收集,以增加可能變成可用的記憶體數量。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**MSCorEE.h

程式庫:包含做為 MSCorEE.dll 中的資源

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

System.GC

IHostMemoryManager 介面