共用方式為


LoadTypeLibWithResolver 函式

更新:2007 年 11 月

載入型別程式庫並使用提供的 ITypeLibResolver 介面解析內部參考的任何型別程式庫。

HRESULT LoadTypeLibWithResolver(
    [in]  LPCOLESTR           szFile,
    [in]  REGKIND             regkind,
    [in]  ITypeLibResolver   *pTlbResolver,
    [out] ITypeLib          **pptlib);

參數

  • szFile
    [in] 型別程式庫的檔案路徑。

  • regkind
    [in] 控制型別程式庫如何註冊的 REGKIND 列舉型別旗標。可能的值如下:

    • REGKIND_DEFAULT:使用預設註冊行為。

    • REGKIND_REGISTER:註冊這個型別程式庫。

    • REGKIND_NONE:不註冊這個型別程式庫。

  • pTlbResolver
    [in] ITypeLibResolver 介面實作的指標。

  • pptlib
    [out] 載入之型別程式庫的參考。

傳回值

列於下表的其中一個 HRESULT 值。

傳回值

意義

S_OK

成功。

E_OUTOFMEMORY

記憶體不足。

E_POINTER

一個或多個指標無效。

E_INVALIDARG

一或多個引數無效。

TYPE_E_IOERROR

函式無法寫入檔案。

TYPE_E_REGISTRYACCESS

無法開啟系統註冊資料庫。

TYPE_E_INVALIDSTATE

無法開啟型別程式庫。

TYPE_E_CANTLOADLIBRARY

無法載入型別程式庫或 DLL。

備註

型別程式庫匯出工具 (Tlbexp.exe) 會在組件轉換到型別程式庫的期間呼叫 LoadTypeLibWithResolver 函式。

這個函式會以登錄的最小存取權限載入指定的型別程式庫。函式接著會檢查型別程式庫是否有內部參考的型別程式庫,其中每一個都必須載入並加入到父型別程式庫。

在載入參考的型別程式庫之前,必須將它的參考檔案路徑解析為完整檔案路徑。這是透過 ITypeLibResolver 介面提供的 ResolveTypeLib 方法完成的,這個方法會傳入 pTlbResolver 參數。

當參考型別程式庫的完整檔案路徑已知時,LoadTypeLibWithResolver 函式便會將參考的型別程式庫載入並加入到父型別程式庫,產生一個合併的主型別程式庫。

在解析並載入所有內部參考的型別程式庫之後,函式會在 pptlib 參數中傳回主解析型別程式庫的參考。

型別程式庫匯出工具 (Tlbexp.exe) 通常會呼叫 LoadTypeLibWithResolver 函式,這個函式會在 pTlbResolver 參數中提供它自己的內部 ITypeLibResolver 介面實作。

如果您直接呼叫 LoadTypeLibWithResolver,就必須提供您自己的 ITypeLibResolver 介面實作。

需求

**平台:**請參閱 .NET Framework 系統需求

標頭:TlbRef.h

程式庫:TlbRef.lib

**.NET Framework 版本:**3.5、3.0、2.0

請參閱

參考

LoadTypeLibEx

其他資源

Tlbexp Helper 函式 (Unmanaged API 參考)