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
[入力]ドライバー固有の fRequest の引数を含む null で終わる文字列。

lpszMsg
[出力]ドライバーのセットアップからの出力メッセージを含む null で終わる文字列。

cbMsgMax
[入力] lpszMsg の長さ。

pcbMsgOut
[出力] lpszMsg で返すために使用できる合計バイト数。

返すことができるバイト数が cbMsgMax 以上の場合、 lpszMsg の出力メッセージは cbMsgMax から null 終端文字を引いた値に切り捨てられます。 pcbMsgOut 引数には null ポインターを指定できます。

戻り値

関数は成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

診断

ConfigDriver が FALSE を返すと、関連付けられた *pfErrorCode 値が SQLPostInstallerError の呼び出しによってインストーラー エラー バッファーにポストされ、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 引数には、ドライバー固有のエラー メッセージが含まれている必要があります。

説明

Driver-Specific オプション

アプリケーションは、 fRequest 引数を使用して、ドライバーによって公開されるドライバー固有の機能を要求できます。 最初のオプションの fRequest はODBC_CONFIG_DRIVER_MAXに 1 を加算し、追加のオプションはその値から 1 ずつインクリメントされます。 その関数のドライバーに必要な引数は、 lpszArgs 引数で渡される null で終わる文字列で指定する必要があります。 このような機能を提供するドライバーは、ドライバー固有のオプションのテーブルを維持する必要があります。 オプションは、ドライバーのドキュメントに完全に記載されている必要があります。 ドライバー固有のオプションを使用するアプリケーション ライターは、これによりアプリケーションの相互運用ができなくなることに注意する必要があります。

メッセージ

ドライバー セットアップ ルーチンは、 lpszMsg バッファー内の null で終わる文字列として、アプリケーションにテキスト メッセージを送信できます。 メッセージが cbMsgMax 文字以上の場合、メッセージは cbMsgMax から ConfigDriver 関数によって null 終端文字を引いた値に切り捨てられます。