ICorDebugModule3::CreateReaderForInMemorySymbols 方法

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

Syntax

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 方法 回调时)。

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

要求

平台: 请参阅 .NET 支持的作系统

页眉: CorDebug.idl、CorDebug.h

图书馆: CorGuids.lib

.NET 版本: 4.5、4、3.5 SP1

另请参阅