ICorProfilerInfo7::ApplyMetaData 方法
[仅在 .NET Framework 4.6.1 及更高版本中受支持]
将 IMetadataEmit::Define*
方法新定义的元数据应用到指定模块。
语法
HRESULT ApplyMetaData(
[in] ModuleID moduleID
);
参数
moduleID
[in] 元数据已更改的模块的标识符。
注解
如果在 ModuleLoadFinished 回叫之后发生元数据更改,则必须先调用此方法,然后才能使用新元数据。
ApplyMetaData
仅支持添加以下类型的元数据:
AssemblyRef
记录,通过调用 IMetaDataAssemblyEmit::DefineAssemblyRef 进行创建。 方法。TypeRef
记录,通过调用 IMetaDataEmit::DefineTypeRefByName 方法进行创建。TypeSpec
记录,通过调用 IMetaDataEmit::GetTokenFromTypeSpec 方法进行创建。MemberRef
记录,通过调用 IMetaDataEmit::DefineMemberRef 方法进行创建。MemberSpec
记录,通过调用 IMetaDataEmit2::DefineMethodSpec 方法进行创建。UserString
记录,通过调用 IMetaDataEmit::DefineUserString 方法进行创建。
从 .NET Core 3.0 开始,ApplyMetaData
还支持以下类型:
TypeDef
记录,通过调用 IMetaDataEmit::DefineTypeDef 方法进行创建。MethodDef
记录,通过调用 IMetaDataEmit::DefineMethod 方法进行创建。 但是,不支持将虚拟方法添加到现有类型。 必须在 ModuleLoadFinished 回叫之前添加虚拟方法。
要求
平台:请参阅系统要求。
头文件: CorProf.idl、CorProf.h
库:CorGuids.lib
.NET Framework 版本:自 4.6.1 起可用