Share via


ICorDebugModule3::CreateReaderForInMemorySymbols Method

Creates a debug symbol reader for a dynamic module.

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

Parameters

  • riid
    [in] The IID of the COM interface to return. Typically, this is an ISymUnmanagedReader Interface.

  • ppObj
    [out] Pointer to a pointer to the returned interface.

Return Value

  • S_OK
    Successfully created the reader.

  • CORDBG_E_MODULE_LOADED_FROM_DISK
    The module is not an in-memory or dynamic module.

  • CORDBG_E_SYMBOLS_NOT_AVAILABLE
    Symbols have not been supplied by the application or are not yet available.

  • E_FAIL (or other E_ return codes)
    Unable to create the reader.

Remarks

This method can also be used to create a symbol reader object for in-memory (non-dynamic) modules, but only after the symbols are first available (indicated by the ICorDebugManagedCallback::UpdateModuleSymbols Method callback).

This method returns a new reader instance every time it is called (like CComPtrBase::CoCreateInstance). Therefore, the debugger should cache the result and request a new instance only when the underlying data may have changed (that is, when a ICorDebugManagedCallback::LoadClass Method callback is received).

Dynamic modules do not have any symbols available until the first type has been loaded (as indicated by the ICorDebugManagedCallback::LoadClass Method callback).

Requirements

Platforms: See .NET Framework System Requirements.

Header: CorDebug.idl

Library: : CorGuids.lib

.NET Framework Versions: 3.5 SP1

See Also

Reference

ICorDebugRemoteTarget Interface

ICorDebug Interface

ICorDebugCode Interface

Other Resources

Debugging Interfaces

Change History

Date

History

Reason

Added topic.

Information enhancement.