为动态模块创建调试符号读取器。
语法
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