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 Den Reader erfolgreich erstellt.

CORDBG_E_MODULE_LOADED_FROM_DISK Das Modul ist kein speicherinternes 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) kann den Reader nicht erstellen.

Hinweise

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