IMetaDataImport::ResolveTypeRef 方法

更新:2010 年 8 月

解析由指定的 TypeRef 标记表示的 Type 引用。

HRESULT ResolveTypeRef (
   [in]  mdTypeRef       tr,
   [in]  REFIID          riid,
   [out] IUnknown        **ppIScope,
   [out] mdTypeDef       *ptd
);

参数

  • tr
    [in] 要返回其引用的类型信息的 TypeRef 元数据标记。

  • riid
    [in] ppIScope 中要返回的接口的 IID。 通常情况下,它将是 IID_IMetaDataImport。

  • ppIScope
    [out] 一个接口,它指向定义引用的类型时所在的模块范围。

  • ptd
    [out] 一个指针,它指向表示引用的类型的 TypeDef 标记。

备注

重要说明重要事项

如果多个应用程序域加载,请不要使用此方法。该方法不遵守应用程序域边界。如果加载了程序集的多个版本,并包含相同命名空间的相同类型,则该方法将返回找到的第一个类型的模块范围。

ResolveTypeRef 方法在其他模块中搜索该类型定义。 如果找到该类型定义,ResolveTypeRef 将返回该模块范围的一个接口以及该类型的 TypeDef 标记。

如果要解析的类型引用的解析范围为 AssemblyRef,则 ResolveTypeRef 方法将仅在已通过调用 IMetaDataDispenser::OpenScope 方法或 IMetaDataDispenser::OpenScopeOnMemory 方法打开的元数据范围内搜索匹配项。 这是因为,ResolveTypeRef 无法仅根据 AssemblyRef 范围来确定程序集在磁盘上或全局程序集缓存中的存储位置。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**Cor.h

**库:**作为一项资源包含在 MsCorEE.dll 中

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

请参见

参考

IMetaDataImport 接口

IMetaDataImport2 接口

修订记录

Date

修订记录

原因

2010 年 8 月

添加了有关多个应用程序域的警告。

内容 Bug 修复