共用方式為


ConfigDriver 函式

一致性
引進的版本:ODBC 2.5

摘要
ConfigDriver 可讓安裝程式執行安裝和卸載函式,而不需要程式呼叫 ConfigDSN 。 此函式會執行驅動程式特定的功能,例如建立驅動程式特定的系統資訊,以及在安裝期間執行 DSN 轉換,以及在卸載期間清除系統資訊修改。 此函式是由驅動程式設定 DLL 或個別的安裝程式 DLL 公開。

語法

  
BOOL ConfigDriver(  
      HWND    hwndParent,  
      WORD    fRequest,  
      LPCSTR  lpszDriver,  
      LPCSTR  lpszArgs,  
      LPSTR   lpszMsg,  
      WORD    cbMsgMax,  
      WORD *  pcbMsgOut);  

引數

hwndParent
[輸入]父視窗控制碼。 如果控制碼為 Null,函式將不會顯示任何對話方塊。

fRequest
[輸入]要求的類型。 fRequest 引數必須包含下列其中一個值:

ODBC_INSTALL_DRIVER:安裝新的驅動程式。

ODBC_REMOVE_DRIVER:移除驅動程式。

這個選項也可以是驅動程式特定的,在此情況下 ,第一個選項的 fRequest 引數必須從 ODBC_CONFIG_DRIVER_MAX+1 開始。 任何其他選項的 fRequest 引數也必須從大於 ODBC_CONFIG_DRIVER_MAX+1 的值開始。

lpszDriver
[輸入]在系統資訊之 Odbcinst.ini 索引鍵中註冊的驅動程式名稱。

lpszArgs
[輸入]以 Null 結尾的字串,包含驅動程式特定 fRequest 的引數。

lpszMsg
[輸出]以 Null 結束的字串,其中包含來自驅動程式設定的輸出訊息。

cbMsgMax
[輸入]lpszMsg 長度。

oemMsgOut
[輸出]可用以 lpszMsg 回的位元組總數。

如果可用的位元組數目大於或等於 cbMsgMax ,則 lpszMsg 中的 輸出訊息會截斷為 cbMsgMax 減去 null 終止字元。 oemMsgOut 引數可以是 Null 指標。

傳回

如果函式成功,則傳回 TRUE,如果失敗,則傳回 FALSE。

診斷

當 ConfigDriver 傳回 FALSE 時 ,相關聯的 *pfErrorCode 值會透過呼叫 SQLPostInstallerError 將相關聯的 *pfError 張貼 至安裝程式錯誤緩衝區,而且可以藉由呼叫 SQLInstallerError 來取得。 下表列出 SQLInstallerError 可傳 回的 *pfErrorCode 值,並說明此函式內容中的每個值。

*pfErrorCode 錯誤 描述
ODBC_ERROR_INVALID_HWND 不正確視窗控制碼 hwndParent 引數無效。
ODBC_ERROR_INVALID_REQUEST_TYPE 要求類型無效 fRequest 引數不是下列其中一項:

ODBC_INSTALL_DRIVER ODBC_REMOVE_DRIVER

驅動程式特定選項小於或等於ODBC_CONFIG_DRIVER_MAX。
ODBC_ERROR_INVALID_NAME 不正確驅動程式或翻譯工具名稱 lpszDriver 引數無效。 在登錄中找不到它。
ODBC_ERROR_REQUEST_FAILED 要求 失敗 無法執行 fRequest 引數所要求的 作業。
ODBC_ERROR_DRIVER_SPECIFIC 驅動程式或翻譯工具特定的錯誤 驅動程式特定的錯誤,沒有定義的 ODBC 安裝程式錯誤。 SQLPostInstallerError 函式呼叫 中的 SzError 引數應該包含驅動程式特定的錯誤訊息。

註解

驅動程式特定選項

應用程式可以使用 fRequest 引數來要求驅動程式公開的驅動程式 特定功能。 第 一個選項的 fRequest 將會ODBC_CONFIG_DRIVER_MAX加 1,而其他選項會從該值遞增 1。 驅動程式針對該函式所需的任何引數,都應該在傳入 lpszArgs 引數的 Null 終止字串中提供。 提供這類功能的驅動程式應該維護驅動程式特定選項的資料表。 選項應該完整記載于驅動程式檔中。 使用驅動程式特定選項的應用程式寫入器應該注意,這會使應用程式變得不那麼互通。

訊息

驅動程式設定常式可以將文字訊息傳送至應用程式,做為 lpszMsg 緩衝區中以 Null 終止的 字串。 如果訊息大於或等於 cbMsgMax 字元,就會被 ConfigDriver 函 式截斷 null 終止字元