Partager via


IMetaDataImport ::ResolveTypeRef, méthode (rometadataapi.h)

Résout une référence de type représentée par le jeton TypeRef spécifié.

Syntaxe

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

Paramètres

[in] tkTypeRef

Jeton de métadonnées TypeRef pour lequel retourner les informations de type référencées.

[in] riid

IID de l’interface à retourner dans ppIScope. En règle générale, ce sera IID_IMetaDataImport.

[out] ppIScope

Interface vers l’étendue du module dans laquelle le type référencé est défini.

[out, retval] ptkTypeDef

Pointeur vers un jeton TypeDef qui représente le type référencé.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Important N’utilisez pas cette méthode si plusieurs domaines d’application sont chargés. La méthode ne respecte pas les limites du domaine d’application. Si plusieurs versions d’un assembly sont chargées et contiennent le même type avec le même espace de noms, la méthode retourne l’étendue du module du premier type trouvé.
 
La méthode ResolveTypeRef recherche la définition de type dans d’autres modules. Si la définition de type est trouvée, ResolveTypeRef retourne une interface à cette étendue de module, ainsi que le jeton TypeDef pour le type.

Si la référence de type à résoudre a une étendue de résolution AssemblyRef, la méthode ResolveTypeRef recherche une correspondance uniquement dans les étendues de métadonnées qui ont déjà été ouvertes avec des appels à la méthode IMetaDataDispenser ::OpenScope ou à la méthode IMetaDataDispenser ::OpenScopeOnMemory . Cela est dû au fait que ResolveTypeRef ne peut pas déterminer uniquement à partir de l’étendue AssemblyRef où l’assembly est stocké sur le disque ou dans le global Assembly Cache.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête rometadataapi.h

Voir aussi

IMetaDataImport