IMetaDataImport 接口

提供从可迁移可执行 (PE) 文件或其他源(如类型库或独立的运行时元数据二进制文件)导入和操作现有元数据的方法。

方法

方法

说明

IMetaDataImport::CloseEnum 方法

关闭具有指定句柄的枚举数。

IMetaDataImport::CountEnum 方法

获取具有指定句柄的枚举数中的元素数。

IMetaDataImport::EnumCustomAttributes 方法

枚举与指定的类型或成员关联的自定义特性定义标记的列表。

IMetaDataImport::EnumEvents 方法

枚举指定的 TypeDef 标记的事件定义标记。

IMetaDataImport::EnumFields 方法

枚举指定的 TypeDef 标记所引用的类型的 FieldDef 标记。

IMetaDataImport::EnumFieldsWithName 方法

枚举具有指定名称的指定类型的 FieldDef 标记。

IMetaDataImport::EnumInterfaceImpls 方法

枚举表示接口实现的 MethodDef 标记。

IMetaDataImport::EnumMemberRefs 方法

枚举表示指定类型的成员的 MemberRef 标记。

IMetaDataImport::EnumMembers 方法

枚举表示指定类型的成员的 MemberDef 标记。

IMetaDataImport::EnumMembersWithName 方法

枚举表示指定类型(具有指定名称)的成员的 MemberDef 标记。

IMetaDataImport::EnumMethodImpls 方法

枚举表示指定类型的方法的 MethodBody 和 MethodDeclaration 标记。

IMetaDataImport::EnumMethods 方法

枚举表示指定类型的方法的 MethodDef 标记。

IMetaDataImport::EnumMethodSemantics 方法

枚举与指定方法相关的属性和属性更改事件。

IMetaDataImport::EnumMethodsWithName 方法

枚举具有指定名称并且由指定的 TypeDef 标记所引用的类型定义的方法。

IMetaDataImport::EnumModuleRefs 方法

枚举表示导入的模块的 ModuleRef 标记。

IMetaDataImport::EnumParams 方法

枚举 ParamDef 标记,这些标记表示指定的 MethodDef 标记所引用的方法的参数。

IMetaDataImport::EnumPermissionSets 方法

枚举指定的元数据范围内的对象的权限。

IMetaDataImport::EnumProperties 方法

枚举表示由指定 TypeDef 标记所引用的类型的属性的 PropertyDef 标记。

IMetaDataImport::EnumSignatures 方法

枚举当前范围内表示独立签名的 Signature 标记。

IMetaDataImport::EnumTypeDefs 方法

枚举表示当前范围内的所有类型的 TypeDef 标记。

IMetaDataImport::EnumTypeRefs 方法

枚举在当前元数据范围内定义的 TypeRef 标记。

IMetaDataImport::EnumTypeSpecs 方法

枚举当前元数据范围内定义的 TypeSpec 标记。

IMetaDataImport::EnumUnresolvedMethods 方法

枚举表示当前元数据范围内未解析的方法的 MemberDef 标记。

IMetaDataImport::EnumUserStrings 方法

枚举表示当前元数据范围内的硬编码字符串的 String 标记。

IMetaDataImport::FindField 方法

获取属于指定类型的成员并具有指定的名称和元数据签名的字段的 FieldDef 标记。

IMetaDataImport::FindMember 方法

获取一个指向成员的 MemberDef 标记的指针,该成员由指定的类型定义,并且具有指定的名称和元数据签名。

IMetaDataImport::FindMemberRef 方法

获取一个指向成员的 MemberRef 标记的指针,该成员由指定的类型定义,并且具有指定的名称和元数据签名。

IMetaDataImport::FindMethod 方法

获取一个指向方法的 MethodDef 标记的指针,该方法由指定的类型定义,并且具有指定的名称和元数据签名。

IMetaDataImport::FindTypeDefByName 方法

获取一个指向具有指定名称的类型的 TypeDef 元数据标记的指针。

IMetaDataImport::FindTypeRef 方法

获取一个指向 TypeRef 元数据标记的指针,该标记通过指定的名称在指定搜索范围内引用类型。

IMetaDataImport::GetClassLayout 方法

获取由指定的 TypeDef 标记所引用类的布局信息。

IMetaDataImport::GetCustomAttributeByName 方法

给定自定义特性的名称时,获取该特性的值。

IMetaDataImport::GetCustomAttributeProps 方法

在给定自定义特性的元数据标记的情况下获取自定义特性的值。

IMetaDataImport::GetEventProps 方法

对于指定的事件标记表示的事件,获取元数据信息,包括声明类型、委托的添加和移除方法、任何标志及其他关联数据。

IMetaDataImport::GetFieldMarshal 方法

获取一个指针,该指针指向由指定的字段元数据标记表示的字段的本机非托管类型。

IMetaDataImport::GetFieldProps 方法

获取与指定 FieldDef 标记引用的字段关联的元数据。

IMetaDataImport::GetInterfaceImplProps 方法

对于实现指定方法的类型和声明该方法的接口,获取一个指向其元数据标记的指针。

IMetaDataImport::GetMemberProps 方法

获取指定的元数据标记所引用的类型成员的元数据信息,包括名称、二进制签名和相对虚拟地址。

IMetaDataImport::GetMemberRefProps 方法

获取与指定标记引用的成员关联的元数据。

IMetaDataImport::GetMethodProps 方法

获取与指定的 MethodDef 标记引用的方法关联的元数据。

IMetaDataImport::GetMethodSemantics 方法

获取一个指针,该指针指向方法(由指定的 MethodDef 标记引用)与成对属性和事件(由指定的 EventProp 标记引用)之间的关系。

IMetaDataImport::GetModuleFromScope 方法

获取指向当前元数据范围内所引用模块的元数据标记的指针。

IMetaDataImport::GetModuleRefProps 方法

获取指定元数据标记引用的模块的名称。

IMetaDataImport::GetNameFromToken 方法

获取指定的元数据标记所引用的对象的 UTF-8 名称。

IMetaDataImport::GetNativeCallConvFromSig 方法

获取指定的签名指针所表示的方法的本机调用约定。

IMetaDataImport::GetNestedClassProps 方法

获取指定的嵌套类型的封闭父类型的 TypeDef 标记。

IMetaDataImport::GetParamForMethodIndex 方法

获取一个指向标记的指针,此标记表示在指定的 MethodDef 标记表示的方法的方法参数序列中位于指定序号位置的参数。

IMetaDataImport::GetParamProps 方法

获取指定的 ParamDef 标记所引用的参数的元数据值。

IMetaDataImport::GetPermissionSetProps 方法

获取与指定的 Permission 标记所表示的 System.Security.PermissionSet 关联的元数据。

IMetaDataImport::GetPinvokeMap 方法

获取用于表示 PInvoke 调用的目标程序集的 ModuleRef 标记。

IMetaDataImport::GetPropertyProps 方法

获取与指定的标记表示的属性关联的元数据。

IMetaDataImport::GetRVA 方法

获取由指定标记表示的代码对象的相对虚拟地址的偏移量。

IMetaDataImport::GetScopeProps 方法

获取当前元数据范围内的程序集或模块的名称和版本标识符(可选)。

IMetaDataImport::GetSigFromToken 方法

获取与指定标记关联的二进制元数据签名。

IMetaDataImport::GetTypeDefProps 方法

返回由指定的 TypeDef 标记表示的类型的元数据信息。

IMetaDataImport::GetTypeRefProps 方法

获取与指定的 TypeRef 标记所引用的类型关联的元数据。

IMetaDataImport::GetTypeSpecFromToken 方法

获取由指定的标记表示的类型规范的二进制元数据签名。

IMetaDataImport::GetUserString 方法

获取指定元数据标记表示的文字字符串。

IMetaDataImport::IsGlobal 方法

获取一个值,该值指示由指定的元数据标记表示的字段、方法或类型是否具有全局范围。

IMetaDataImport::IsValidToken 方法

获取指示指定的标记是否包含对代码对象的有效引用的值。

IMetaDataImport::ResetEnum 方法

将指定的枚举数重置到指定位置。

IMetaDataImport::ResolveTypeRef 方法

获取指定的 TypeRef 标记所引用的类型的类型信息。

备注

IMetaDataImport 接口的设计主要供将要导入类型信息(例如,开发工具)或管理已部署组件(例如,解析/激活服务)的工具和服务使用。 IMetaDataImport 中的方法属于下列任务类别:

  • 枚举元数据范围内的项集合。

  • 查找具有特定特征集的项。

  • 获取指定项的属性。

  • Get 方法专门用来返回元数据项的单值属性。 当该属性是对另一个项的引用时,将返回该项的标记。 任何指针输入类型都可为 NULL,以指示未请求特定值。 若要获取基本上由集合对象(例如,某个类实现的接口集合)构成的属性,请使用枚举方法。

要求

**平台:**请参见 .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

请参见

参考

IMetaDataImport2 接口

概念

元数据概述

其他资源

元数据接口