Metodo IHostMemoryManager::GetMemoryLoad
Ottiene la quantità di memoria fisica attualmente in uso e pertanto non disponibile, come segnalato dall'host.
Sintassi
HRESULT GetMemoryLoad (
[out] DWORD* pMemoryLoad,
[out] SIZE_T *pAvailableBytes
);
Parametri
pMemoryLoad
[out] Puntatore alla percentuale approssimativa della memoria fisica totale attualmente in uso.
pAvailableBytes
[out] Puntatore al numero di byte disponibili per Common Language Runtime (CLR).
Valore restituito
HRESULT | Descrizione |
---|---|
S_OK | GetMemoryLoad restituito correttamente. |
HOST_E_CLRNOTAVAILABLE | CLR non è stato caricato in un processo oppure CLR si trova in uno stato in cui non può eseguire codice gestito o elaborare correttamente la chiamata. |
HOST_E_TIMEOUT | Timeout della chiamata. |
HOST_E_NOT_OWNER | Il chiamante non possiede il blocco. |
HOST_E_ABANDONED | Un evento è stato annullato durante l'attesa di un thread o di una fibra bloccata. |
E_FAIL | Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE. |
Commenti
GetMemoryLoad
esegue il wrapping della funzione Win32 GlobalMemoryStatus
. Il valore di pMemoryLoad
è l'equivalente del dwMemoryLoad
campo nella MEMORYSTATUS
struttura restituita da GlobalMemoryStatus
.
Il runtime usa il valore restituito come euristica per il Garbage Collector. Ad esempio, se l'host segnala che la maggior parte della memoria è in uso, il Garbage Collector può scegliere di raccogliere da più generazioni per aumentare la quantità di memoria che può potenzialmente diventare disponibile.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0