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

请参阅