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.