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


Метод IMetaDataImport::FindMemberRef (rometadataapi.h)

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

Синтаксис

HRESULT FindMemberRef(
  [in]  mdTypeRef       tkTypeRef,
  [in]  LPCWSTR         szName,
  [in]  PCCOR_SIGNATURE pvSigBlob,
  [in]  ULONG           cbSigBlob,
  [out] mdMemberRef     *pMemberRef
);

Параметры

[in] tkTypeRef

Токен TypeRef для класса или интерфейса, который содержит ссылку на элемент для поиска. Если это значение — mdTokenNil, поиск выполняется для глобальной переменной или ссылки на глобальную функцию.

[in] szName

Имя ссылки на элемент для поиска.

[in] pvSigBlob

Указатель на сигнатуру двоичных метаданных ссылки на элемент.

[in] cbSigBlob

Размер pvSigBlob в байтах.

[out] pMemberRef

Указатель на соответствующий токен MemberRef.

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Элемент указывается с помощью включающего класса или интерфейса (tkTypeRef), его имени (szName) и при необходимости его сигнатуры (pvSigBlob).

Подпись, переданная в FindMemberRef, должна быть создана в текущем область, так как подписи привязаны к определенной область. Сигнатура может внедрить маркер, который идентифицирует вложенный класс или тип значения. Маркер является индексом в локальной таблице TypeDef. Невозможно создать подпись времени выполнения вне контекста текущего область и использовать ее в качестве входных данных для FindMemberRef.

FindMemberRef находит только ссылки на члены, которые были определены непосредственно в классе или интерфейсе; он не находит наследуемые ссылки на члены.

Требования

Требование Значение
Целевая платформа Windows
Header rometadataapi.h

См. также раздел

IMetaDataImport