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