Поделиться через


Интерфейс IMetaDataImport

Предоставляет методы для импорта существующих метаданных из переносимого исполняемого (PE) файла или другого источника, такого как библиотека типов или отдельный двоичный файл метаданных среды выполнения, а также управления этим метаданными.

Методы

Метод

Описание

Метод IMetaDataImport::CloseEnum

Закрывает перечислитель с указанным дескриптором.

Метод IMetaDataImport::CountEnum

Получает число элементов в перечислителе с заданным дескриптором.

Метод IMetaDataImport::EnumCustomAttributes

Перечисляет список маркеров определений настраиваемых атрибутов, связанных с заданным типом или членом.

Метод IMetaDataImport::EnumEvents

Перечисляет маркеры определений событий для заданного маркера TypeDef.

Метод IMetaDataImport::EnumFields

Перечисляет маркеры FieldDef для типа, на который ссылается заданный маркер TypeDef.

Метод 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

Перечисляет маркеры PropertyDef, представляющие свойства типа, на который ссылается заданный маркер TypeDef.

Метод 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

Получает указатель на машинный, неуправляемый тип поля, представленного заданным маркером метаданных Field.

Метод 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

Получает метаданные, связанные с разбором разрешений System.Security.PermissionSet, на который ссылается заданный маркер Permission.

Метод IMetaDataImport::GetPinvokeMap

Получает маркер метаданных ModuleRef, представляющий целевую сборку вызова PInvoke.

Метод 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 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0, 1.1, 1.0

См. также

Ссылки

Интерфейс IMetaDataImport2

Основные понятия

Общие сведения о метаданных

Другие ресурсы

Интерфейсы метаданных