SQLInstallDriverManager 函式
一致性
引進的版本:ODBC 1.0:在 Windows XP Service Pack 2、Windows Server 2003 Service Pack 1 和更新版本的作業系統中已被取代
摘要
SQLInstallDriverManager 會傳回安裝 ODBC 核心元件的目標目錄路徑。 呼叫程式實際上必須將驅動程式管理員的檔案複製到目標目錄。
語法
BOOL SQLInstallDriverManager(
LPSTR lpszPath,
WORD cbPathMax,
WORD * pcbPathOut);
引數
lpszPath
[輸出]安裝目標目錄的路徑。
cbPathMax
[輸入]lpszPath 的 長度。 這至少必須是_MAX_PATH個位元組。
pcpathOut
[輸出]在 lpszPath 中 傳回的位元組總數(不包括 Null 終止位元組)。 如果可用的位元組數目大於或等於 cbPathMax ,則 lpszPath 中的 路徑會截斷為 cbPathMax 減去 null 終止字元。 對pcspcPathOut 引數可以是 Null 指標。
傳回
如果函式成功,則傳回 TRUE,如果失敗,則傳回 FALSE。
診斷
當 SQLInstallDriverManager 傳回 FALSE 時 ,可以呼叫 SQLInstallerError 來取得相關聯的 *pfErrorCode 值。 下表列出 SQLInstallerError 可傳 回的 *pfErrorCode 值,並說明此函式內容中的每個值。
*pfErrorCode | 錯誤 | 描述 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 一般安裝程式錯誤 | 發生錯誤,沒有特定的安裝程式錯誤。 |
ODBC_ERROR_INVALID_BUFF_LEN | 不正確緩衝區長度 | lpszPath 引數不夠大,無法包含輸出路徑。 緩衝區包含截斷的路徑。 cbPathMax 引數小於_MAX_PATH。 |
ODBC_ERROR_USAGE_UPDATE_FAILED | 無法遞增或遞減元件使用量計數 | 安裝程式無法遞增 ODBC 核心元件使用量計數。 |
ODBC_ERROR_OUT_OF_MEM | 記憶體不足 | 由於記憶體不足,安裝程式無法執行函式。 |
註解
呼叫 SQLInstallDriverManager 以傳回 ODBC 核心元件的路徑,並在系統資訊中遞增元件使用量計數。 如果驅動程式管理員的版本已經存在,但驅動程式的元件使用計數不存在,新的元件使用計數值會設定為 2。
應用程式安裝程式負責實際複製核心元件檔案,並維護檔案使用量計數。 如果先前尚未安裝核心元件檔案,應用程式安裝程式必須複製檔案,並建立檔案使用計數。 如果先前已安裝檔案,安裝程式只會遞增檔案使用量計數。
如果應用程式安裝程式先前已安裝舊版驅動程式管理員,則應該卸載核心元件,然後重新安裝,讓核心元件使用計數有效。 應先呼叫 SQLRemoveDriverManager 來遞減元件使用量計數。 然後應該呼叫 SQLInstallDriverManager ,以遞增元件使用量計數。 應用程式安裝程式必須將舊的核心元件檔案取代為新的檔案。 檔案使用計數會維持不變,而使用舊版核心元件檔案的其他應用程式現在會使用較新的版本檔案。
在 ODBC 核心元件、驅動程式和翻譯工具的全新安裝中,應用程式安裝程式應該依序呼叫下列函式:SQLInstallDriverManager 、SQLInstallDriverEx 、 SQLConfigDriver (具有 fRequest 為 ODBC_INSTALL_DRIVER),然後 呼叫 SQLInstallTranslatorEx 。 在核心元件、驅動程式和翻譯工具的卸載中,應用程式安裝程式應該依序呼叫下列函式:SQLRemoveTranslator 、 SQLRemoveDriver 和 SQLRemoveDriverManager 。 這些函式必須在此序列中呼叫。 在所有元件的升級中,所有卸載函式都應該依序呼叫,然後依序呼叫所有安裝函式。
相關函數
如需下列資訊 | 請參閱 |
---|---|
新增、修改或移除驅動程式 | SQLConfigDriver |
安裝驅動程式 | SQLInstallDriverEx |
安裝翻譯工具 | SQLInstallTranslatorEx |
移除驅動程式 | SQLRemoveDriver |
移除驅動程式管理員 | SQLRemoveDriverManager |
移除翻譯工具 | SQLRemoveTranslator |