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