ICorDebugModule3::CreateReaderForInMemorySymbols 方法

为动态模块创建调试符号读取器。

语法

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

参数

riid
[in] 要返回的 COM 接口的 IID。 通常,这是一个 ISymUnmanagedReader 接口

ppObj
[out] 指向返回接口的指针。

返回值

S_OK
已成功创建读取器。

CORDBG_E_MODULE_LOADED_FROM_DISK
该模块不是内存中模块或动态模块。

CORDBG_E_SYMBOLS_NOT_AVAILABLE
符号尚未由应用程序提供或尚不可用。

E_FAIL(或其他 E_ 返回代码)
无法创建读取器。

备注

此方法还可用于为内存中(非动态)模块创建符号读取器对象,但仅在符号首次可用之后(由 UpdateModuleSymbols 方法回调指示)适用。

每次调用此方法时都会返回一个新读取器实例(如 CComPtrBase::CoCreateInstance)。 因此,调试程序应缓存结果并仅在基础数据可能已更改时(即收到 LoadClass Method 回调时)请求新实例。

加载第一个类型(如 LoadClass Method 回调所示)之前,动态模块都没有任何可用符号。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET framework 版本:4.5、4、3.5 SP1

请参阅