Delen via


Methode IHostMemoryManager::GetMemoryLoad

Haalt de hoeveelheid fysiek geheugen op die momenteel in gebruik is en daarom niet beschikbaar is, zoals gerapporteerd door de host.

Syntaxis

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

Parameters

pMemoryLoad
[uit] Een verwijzing naar het geschatte percentage van het totale fysieke geheugen dat momenteel wordt gebruikt.

pAvailableBytes
[uit] Een verwijzing naar het aantal bytes dat beschikbaar is voor de COMMON Language Runtime (CLR).

Retourwaarde

HRESULT Beschrijving
S_OK GetMemoryLoad is geretourneerd.
HOST_E_CLRNOTAVAILABLE De CLR is niet geladen in een proces of de CLR heeft een status waarin beheerde code niet kan worden uitgevoerd of de aanroep kan worden verwerkt.
HOST_E_TIMEOUT Er is een time-out opgetreden voor het gesprek.
HOST_E_NOT_OWNER De beller is niet de eigenaar van het slot.
HOST_E_ABANDONED Een gebeurtenis is geannuleerd terwijl er een geblokkeerde thread of glasvezel op wachtte.
E_FAIL Er is een onbekende catastrofale fout opgetreden. Wanneer een methode E_FAIL retourneert, is de CLR niet meer bruikbaar binnen het proces. Volgende aanroepen naar hostingmethoden retourneren HOST_E_CLRNOTAVAILABLE.

Opmerkingen

GetMemoryLoad verpakt de Win32-functie GlobalMemoryStatus . De waarde van pMemoryLoad is het equivalent van het dwMemoryLoad veld in de MEMORYSTATUS structuur die wordt geretourneerd van GlobalMemoryStatus.

De runtime gebruikt de retourwaarde als een heuristiek voor de garbagecollector. Als de host bijvoorbeeld meldt dat het merendeel van het geheugen in gebruik is, kan de garbagecollector ervoor kiezen om meerdere generaties te verzamelen om de hoeveelheid geheugen te vergroten die mogelijk beschikbaar kan komen.

Vereisten

Platforms: Zie Systeemvereisten.

Header: MSCorEE.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework versies: beschikbaar sinds 2.0

Zie ook