IMetaDataEmit 接口

提供创建、修改和保存有关当前定义的范围中的程序集的元数据的方法。 可以将元数据存储在内存中,也可以将其保存到磁盘上。

方法

方法

说明

IMetaDataEmit::ApplyEditAndContinue 方法

使用指定 pImport 中所做的更改来更新当前程序集范围。

IMetaDataEmit::DefineCustomAttribute 方法

创建具有指定元数据签名的自定义特性的定义,连接到指定对象并获取该自定义特性定义的标记。

IMetaDataEmit::DefineEvent 方法

为具有指定元数据签名的事件创建定义,并获取该事件定义的标记。

IMetaDataEmit::DefineField 方法

使用指定的元数据签名为字段创建定义,并获取该字段定义的标记。

IMetaDataEmit::DefineImportMember 方法

为当前范围以外的模块中所定义类型的成员创建定义,并获取该引用定义的标记。

IMetaDataEmit::DefineImportType 方法

创建在当前范围之外的模块中定义的类型的引用定义,并获取该引用定义的标记。

IMetaDataEmit::DefineMemberRef 方法

创建引用(引用当前范围之外的模块成员)的定义,并获取该引用定义的标记。

IMetaDataEmit::DefineMethod 方法

使用指定的签名创建一个方法定义,并返回该方法定义的标记。

IMetaDataEmit::DefineMethodImpl 方法

为从接口派生的方法创建其实现定义,并向该方法实现定义返回标记。

IMetaDataEmit::DefineModuleRef 方法

为具有指定名称的模块创建元数据签名。

IMetaDataEmit::DefineNestedType 方法

创建类型定义的元数据签名,并为该类型返回一个 mdTypeDef 标记,此外还指定定义的类型是 tdEncloser 所引用类型的成员。

IMetaDataEmit::DefineParam 方法

使用指定的签名为指定的标记引用的方法创建参数定义,并获取该参数定义的标记。

IMetaDataEmit::DefinePermissionSet 方法

使用指定的元数据签名创建一个权限集定义,并获取该权限集定义的标记。

IMetaDataEmit::DefinePinvokeMap 方法

为由指定标记引用的方法设置其 PInvoke 签名的功能。

IMetaDataEmit::DefineProperty 方法

使用指定的 getset 方法访问器为指定的类型创建属性定义,并获取指向该属性定义的标记。

IMetaDataEmit::DefineSecurityAttributeSet 方法

创建安全权限集,此安全权限集要附加到由指定标记引用的对象。

IMetaDataEmit::DefineTypeDef 方法

创建公共语言运行时类型的类型定义,并获取该类型定义的元数据标记。

IMetaDataEmit::DefineTypeRefByName 方法

获取在当前范围外的另一模块中定义的类型的元数据标记。

IMetaDataEmit::DefineUserString 方法

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

IMetaDataEmit::DeleteClassLayout 方法

销毁指定标记引用的类型的类布局元数据签名。

IMetaDataEmit::DeleteFieldMarshal 方法

销毁由指定标记所引用对象的 PInvoke 封送处理元数据签名。

IMetaDataEmit::DeletePinvokeMap 方法

销毁指定的标记所引用的对象的 PInvoke 映射元数据。

IMetaDataEmit::DeleteToken 方法

从当前元数据范围删除指定标记。

IMetaDataEmit::GetSaveSize 方法

获取当前范围内程序集的估计二进制大小。

IMetaDataEmit::GetTokenFromSig 方法

获取指定的元数据签名的标记。

IMetaDataEmit::GetTokenFromTypeSpec 方法

获取具有指定元数据签名的类型的元数据标记。

IMetaDataEmit::Merge 方法

将指定的导入范围添加到要合并的范围列表中。

IMetaDataEmit::MergeEnd 方法

将以前一次或多次调用 IMetaDataEmit::Merge 指定的所有元数据范围合并到当前范围。

IMetaDataEmit::Save 方法

将当前范围中的所有元数据保存到位于指定地址的文件中。

IMetaDataEmit::SaveToMemory 方法

将当前范围内的所有元数据保存到指定的内存区域。

IMetaDataEmit::SaveToStream 方法

将当前范围内的所有元数据保存到指定的 IStream 中。

IMetaDataEmit::SetClassLayout 方法

设置或更新以前调用 IMetaDataEmit::DefineTypeDef 时定义的类型的类布局签名。

IMetaDataEmit::SetCustomAttributeValue 方法

设置或更新以前调用 IMetaDataEmit::DefineCustomAttribute 时定义的自定义特性的值。

IMetaDataEmit::SetEventProps 方法

设置或更新前一个 IMetaDataEmit::DefineEvent 调用所定义的事件的指定功能。

IMetaDataEmit::SetFieldMarshal 方法

为指定标记引用的字段、方法返回或方法参数设置 PInvoke 封送处理信息。

IMetaDataEmit::SetFieldProps 方法

设置或更新指定的字段标记所引用的字段的默认值。

IMetaDataEmit::SetFieldRVA 方法

为指定标记引用的字段的相对虚拟地址设置全局变量值。

IMetaDataEmit::SetHandler 方法

设置由指定的 IUnknown 指针作为标记重新映射的通知回调引用的方法。

IMetaDataEmit::SetMethodImplFlags 方法

设置或更新指定的标记所引用的继承的方法实现的元数据签名。

IMetaDataEmit::SetMethodProps 方法

设置或更新以前调用 IMetaDataEmit::DefineMethod 时定义的方法的功能,该功能存储在指定的相对虚拟地址。

IMetaDataEmit::SetModuleProps 方法

更新对通过以前调用 IMetaDataEmit::DefineModuleRef 定义的模块的引用。

IMetaDataEmit::SetParamProps 方法

设置或更改以前调用 IMetaDataEmit::DefineParam 时定义的方法参数的功能。

IMetaDataEmit::SetParent 方法

使以前通过调用 IMetaDataEmit::DefineMemberRef 定义的指定成员成为以前通过调用 IMetaDataEmit::DefineTypeDef 定义的指定类型的成员。

IMetaDataEmit::SetPermissionSetProps 方法

设置或更新权限集的元数据签名的功能,该权限集通过对 IMetaDataEmit::DefinePermissionSet 的前一个调用而定义。

IMetaDataEmit::SetPinvokeMap 方法

设置或更改通过以前调用 IMetaDataEmit::DefinePinvokeMap 所定义的方法的 PInvoke 签名。

IMetaDataEmit::SetPropertyProps 方法

设置以前调用 IMetaDataEmit::DefineProperty 时定义的属性的元数据中存储的功能。

IMetaDataEmit::SetRVA 方法

设置指定方法的相对虚拟地址。

IMetaDataEmit::SetTypeDefProps 方法

设置前一次 IMetaDataEmit::DefineTypeDef 调用所定义的类型的功能。

IMetaDataEmit::TranslateSigWithScope 方法

将程序集导入当前范围并获取合并的范围的新的元数据签名。

要求

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

请参见

参考

IMetaDataEmit2 接口

其他资源

元数据接口