Condividi tramite


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

Vedi anche