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


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

Разрешает ссылку type, представленную указанным токеном TypeRef.

Синтаксис

HRESULT ResolveTypeRef(
  [in]          mdTypeRef tkTypeRef,
  [in]          REFIID    riid,
  [out]         IUnknown  **ppIScope,
  [out, retval] mdTypeDef *ptkTypeDef
);

Параметры

[in] tkTypeRef

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

[in] riid

IiD интерфейса, возвращаемого в ppIScope. Как правило, это IID_IMetaDataImport.

[out] ppIScope

Интерфейс модуля область, в котором определен указанный тип.

[out, retval] ptkTypeDef

Указатель на токен TypeDef, представляющий указанный тип.

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

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

Комментарии

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

Если решаемая ссылка на тип имеет разрешение область AssemblyRef, метод ResolveTypeRef ищет совпадение только в областях метаданных, которые уже были открыты с помощью вызовов метода IMetaDataDispenser::OpenScope или метода IMetaDataDispenser::OpenScopeOnMemory. Это связано с тем, что ResolveTypeRef не может определить только из область AssemblyRef, где на диске или в глобальном кэше сборок хранится сборка.

Требования

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

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

IMetaDataImport