Freigeben über


ICorDebugModule3::CreateReaderForInMemorySymbols-Methode

Erstellt einen Debugsymbolreader für ein dynamisches Modul.

Syntax

HRESULT CreateReaderForInMemorySymbols (  
      [in] REFIID riid,  
      [out][iid_is(riid)] void **    ppObj  

Parameter

riid
[in] Die IID der zurückzugebenden COM-Schnittstelle. In der Regel handelt es sich hierbei um eine ISymUnmanagedReader-Schnittstelle.

ppObj
[out] Zeiger auf einen Zeiger auf die zurückgegebene Schnittstelle.

Rückgabewert

S_OK
Der Leser wurde erfolgreich erstellt.

CORDBG_E_MODULE_LOADED_FROM_DISK
Das Modul ist kein In-Memory- oder dynamisches Modul.

CORDBG_E_SYMBOLS_NOT_AVAILABLE
Symbole wurden von der Anwendung nicht bereitgestellt oder sind noch nicht verfügbar.

E_FAIL (oder andere E_-Rückgabecodes)
Der Reader kann nicht erstellt werden.

Bemerkungen

Diese Methode kann auch verwendet werden, um ein Symbolreader-Objekt für In-Memory-Module (nicht dynamisch) zu erstellen, jedoch erst, nachdem die Symbole erstmalig verfügbar sind (laut Rückruf der UpdateModuleSymbols-Methode).

Diese Methode gibt bei jedem Aufruf (z. B. CComPtrBase::CoCreateInstance) eine neue Reader-Instanz zurück. Daher sollte der Debugger das Ergebnis zwischenspeichern und eine neue Instanz nur dann anfordern, wenn sich die zugrunde liegenden Daten möglicherweise geändert haben (d. h., wenn ein Rückruf der LoadClass-Methoden empfangen wird).

Dynamische Module verfügen über keine Symbole, bis der erste Typ geladen wurde (laut Rückruf der LoadClass-Methode).

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 4.5, 4, 3.5 SP1

Siehe auch