Метод ICorProfilerInfo7::ApplyMetaData
[Поддерживается в .NET Framework 4.6.1 и более поздних версиях.]
Применяет метаданные, недавно определенные методами IMetadataEmit::Define*
, к указанному модулю.
Синтаксис
HRESULT ApplyMetaData(
[in] ModuleID moduleID
);
Параметры
moduleID
[in] Идентификатор модуля, метаданные которого были изменены.
Комментарии
Если изменения метаданных вносятся после обратного вызова ModuleLoadFinished , необходимо вызвать этот метод перед использованием новых метаданных.
ApplyMetaData
Поддерживает только добавление следующих типов метаданных:
AssemblyRef
records, которые создаются путем вызова IMetaDataAssemblyEmit::D efineAssemblyRef. метод.TypeRef
records, которые создаются путем вызова метода IMetaDataEmit::D efineTypeRefByName .TypeSpec
records, которые создаются путем вызова метода IMetaDataEmit::GetTokenFromTypeSpec .MemberRef
records, которые создаются путем вызова метода IMetaDataEmit::D efineMemberRef .MemberSpec
records, которые создаются путем вызова метода IMetaDataEmit2::D efineMethodSpec .UserString
records, которые создаются путем вызова метода IMetaDataEmit::D efineUserString .
Начиная с .NET Core 3.0 также ApplyMetaData
поддерживает следующие типы:
TypeDef
records, которые создаются путем вызова метода IMetaDataEmit::D efineTypeDef .MethodDef
records, которые создаются путем вызова метода IMetaDataEmit::D efineMethod . Однако добавление виртуальных методов к существующему типу не поддерживается. Виртуальные методы необходимо добавить перед обратным вызовом ModuleLoadFinished .
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
платформа .NET Framework версии: доступно с версии 4.6.1.