IMetaDataImport::ResolveTypeRef 方法 (rometadataapi.h)
解析由指定的 TypeRef 标记表示的类型引用。
语法
HRESULT ResolveTypeRef(
[in] mdTypeRef tkTypeRef,
[in] REFIID riid,
[out] IUnknown **ppIScope,
[out, retval] mdTypeDef *ptkTypeDef
);
参数
[in] tkTypeRef
要返回其引用的类型信息的 TypeRef 元数据标记。
[in] riid
在 ppIScope 中返回的接口的 IID。 通常此值可以为 IID_IMetaDataImport。
[out] ppIScope
一个指向在其中定义引用类型的模块范围的接口。
[out, retval] ptkTypeDef
指向 TypeDef 标记的指针,该标记表示引用的类型。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
重要 如果加载了多个应用程序域,请不要使用此方法。 此方法不采用应用程序域边界。 如果加载了程序集的多个版本,并且它们包含同一命名空间的同一类型,则方法将返回找到的第一个类型的模块范围。
如果要解析的类型引用的解析范围为 AssemblyRef,则 ResolveTypeRef 方法仅在已通过调用 IMetaDataDispenser::OpenScope 方法或 IMetaDataDispenser::OpenScopeOnMemory 方法打开的元数据范围中搜索匹配项。 这是因为 ResolveTypeRef 无法仅从 AssemblyRef 范围确定程序集在磁盘上或全局程序集缓存中存储程序集的位置。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | rometadataapi.h |