Freigeben über


IHostMAlloc::Alloc-Methode

Aktualisiert: November 2007

Fordert den Host auf, den angegebenen Anteil am Arbeitsspeicher vom Heap zu reservieren.

HRESULT Alloc (
    [in] SIZE_T  cbSize, 
    [in] EMemoryCriticalLevel dwCriticalLevel, 
    [out] void** ppMem
);

Parameter

  • cbSize
    [in] Die Größe der aktuellen Speicherreservierungsanforderung in Bytes.

  • dwCriticalLevel
    [in] Einer der EMemoryCriticalLevel-Werte, der die Auswirkungen eines Reservierungsfehlers angibt.

  • ppMem
    [out] Ein Zeiger auf den reservierten Arbeitsspeicher oder NULL, wenn die Anforderung nicht abgeschlossen werden konnte.

Rückgabewert

HRESULT

Beschreibung

S_OK

Alloc kehrte erfolgreich zurück.

HOST_E_CLRNOTAVAILABLE

Die Common Language Runtime (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

Der Aufruf hat das Zeitlimit ü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.

E_OUTOFMEMORY

Zur Erfüllung der Reservierungsanforderung war nicht genügend Arbeitsspeicher verfügbar.

Hinweise

Die CLR ruft einen Schnittstellenzeiger auf eine IHostMalloc-Instanz ab, indem sie die IHostMemoryManager::CreateMAlloc-Methode aufruft.

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

IHostMemoryManager

IHostMAlloc