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