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 終端文字を引いた値に切り捨てられます。