Share via


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