ICorDebugModule3::CreateReaderForInMemorySymbols Method
Creates a debug symbol reader for a dynamic module.
Syntax
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 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 LoadClass Method callback is received).
Dynamic modules do not have any symbols available until the first type has been loaded (as indicated by the LoadClass Method callback).
Requirements
Platforms: See System Requirements.
Header: CorDebug.idl, CorDebug.h
Library: CorGuids.lib
.NET Framework Versions: 4.5, 4, 3.5 SP1