次の方法で共有


IMetaDataImport::ResolveTypeRef メソッド (rometadataapi.h)

指定した TypeRef トークンで表される Type 参照を解決します。

構文

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

パラメーター

[in] tkTypeRef

参照先の型情報を返す TypeRef メタデータ トークン。

[in] riid

ppIScope で返されるインターフェイスの IID。 通常、これは IID_IMetaDataImport になります。

[out] ppIScope

参照先の型が定義されているモジュール スコープへのインターフェイス。

[out, retval] ptkTypeDef

参照される型を表す TypeDef トークンへのポインター。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

大事な 複数のアプリケーション ドメインが読み込まれる場合は、このメソッドを使用しないでください。 このメソッドは、アプリケーション ドメインの境界を尊重しません。 アセンブリの複数のバージョンが読み込まれ、同じ名前空間を持つ同じ型が含まれている場合、メソッドから最初に見つかった型のモジュール スコープが返されます。
 
ResolveTypeRef メソッドは、他のモジュールの型定義を検索します。 型定義が見つかった場合、 ResolveTypeRef は、そのモジュール スコープへのインターフェイスと、型の TypeDef トークンを返します。

解決する型参照に AssemblyRef の解決スコープがある場合、ResolveTypeRef メソッドは、IMetaDataDispenser::OpenScope メソッドまたは IMetaDataDispenser::OpenScopeOnMemory メソッドの呼び出しで既に開かれているメタデータ スコープでのみ一致を検索します。 これは、 ResolveTypeRef は、ディスク上またはグローバル アセンブリ キャッシュ内のアセンブリが格納されている AssemblyRef スコープからのみ判別できないためです。

要件

要件
対象プラットフォーム Windows
ヘッダー rometadataapi.h

こちらもご覧ください

IMetaDataImport