Freigeben über


IHostMemoryManager::GetMemoryLoad-Methode

Aktualisiert: November 2007

Ruft die Menge an physischem Arbeitsspeicher ab, der gegenwärtig verwendet wird und daher laut Host nicht verfügbar ist.

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

Parameter

  • pMemoryLoad
    [out] Ein Zeiger auf die ungefähre Menge an gegenwärtig verwendetem physischen Speicher in Prozent.

  • pAvailableBytes
    [out] Ein Zeiger auf die Anzahl der für die Common Language Runtime (CLR) verfügbaren Bytes.

Rückgabewert

HRESULT

Beschreibung

S_OK

GetMemoryLoad wurde erfolgreich zurückgegeben.

HOST_E_CLRNOTAVAILABLE

Die CLR wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann.

HOST_E_TIMEOUT

Das Zeitlimit für den Aufruf wurde überschritten.

HOST_E_NOT_OWNER

Der Aufrufer ist nicht Besitzer der Sperre.

HOST_E_ABANDONED

Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat.

E_FAIL

Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück.

Hinweise

GetMemoryLoad schließt die Win32 GlobalMemoryStatus-Funktion ein. Der Wert von pMemoryLoad entspricht dem dwMemoryLoad-Feld in der MEMORYSTATUS-Struktur, die von GlobalMemoryStatus zurückgegeben wird.

Die Laufzeit verwendet den Rückgabewert als Heuristik für den Garbage Collector. Wenn z. B. der Host meldet, dass der Großteil des Arbeitsspeichers verwendet wird, kann eine Garbage Collection über mehrere Generationen durchgeführt werden, um die Menge an Arbeitsspeicher zu erhöhen, die potenziell verfügbar gemacht werden kann.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.idl

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

System.GC

IHostMemoryManager