Freigeben über


IHostMAlloc::DebugAlloc-Methode

Fordert den Host auf, die angegebene Menge an Arbeitsspeicher aus dem Heap zuzuordnen und zusätzlich nachzuverfolgen, wo der Arbeitsspeicher zugeordnet wurde.

Syntax

HRESULT DebugAlloc (  
    [in]  SIZE_T  cbSize,
    [in]  EMemoryCriticalLevel dwCriticalLevel,
    [in]  char*   pszFileName,
    [in]  int     iLineNo,
    [out] void**  ppMem  
);  

Parameter

cbSize
[in] Die Größe der aktuellen Speicherbelegungsanforderung in Byte.

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

pszFileName
[in] Die Codedatei der zu debuggenden ausführbaren Datei.

iLineNo
[in] Die Zeilennummer in pszFileName, in der die Zuordnung angefordert wurde.

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

Rückgabewert

HRESULT BESCHREIBUNG
S_OK DebugAlloc wurde erfolgreich zurückgegeben.
HOST_E_CLRNOTAVAILABLE Die CLR wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann.
HOST_E_TIMEOUT Timeout des Aufrufs.
HOST_E_NOT_OWNER Der Aufrufer besitzt die Sperre nicht.
HOST_E_ABANDONED Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat.
E_FAIL Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück.
E_OUTOFMEMORY Es war nicht genügend Arbeitsspeicher verfügbar, um die Zuordnungsanforderung abzuschließen.

Bemerkungen

Die CLR ruft einen Schnittstellenzeiger auf eine IHostMalloc-Instanz ab, indem die IHostMemoryManager::CreateMalloc-Methode aufgerufen wird. DebugAlloc ermöglicht es der Runtime, Informationen über Codedateien abzurufen, die beim Debuggen verwendet werden können.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MSCorEE.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch