SQLGetTranslator 関数
準拠
導入されたバージョン: ODBC 2.0
まとめ
SQLGetTranslator には、ユーザーが翻訳者を選択できるダイアログ ボックスが表示されます。
構文
BOOL SQLGetTranslator(
HWND hwndParent,
LPSTR lpszName,
WORD cbNameMax,
WORD * pcbNameOut,
LPSTR lpszPath,
WORD cbPathMax,
WORD * pcbPathOut,
DWORD * pvOption);
引数
hwndParent
[入力]親ウィンドウ ハンドル。
lpszName
[入力/出力]システム情報からの変換プログラムの名前。
cbNameMax
[入力] lpszName バッファーの最大長。
pcbNameOut
[入力/出力] lpszName で渡されるか返された合計バイト数 (null 終了バイトを除く)。 返すことができるバイト数が cbNameMax 以上の場合、 lpszName 内のトランスレーター名は cbNameMax から null 終端文字を引いた値に切り捨てられます。 pcbNameOut 引数には null ポインターを指定できます。
lpszPath
[出力]翻訳 DLL の完全パス。
cbPathMax
[入力] lpszPath バッファーの最大長。
pcbPathOut
[出力] lpszPath で返される合計バイト数 (null 終了バイトを除く)。 返すことができるバイト数が cbPathMax 以上の場合、 lpszPath の変換 DLL パスは cbPathMax から null 終端文字を引いた値に切り捨てられます。 pcbPathOut 引数には null ポインターを指定できます。
pvOption
[出力] 32 ビット変換オプション。
戻り値
この関数は、成功した場合は TRUE、失敗した場合は FALSE、ユーザーがダイアログ ボックスをキャンセルした場合は FALSE を返します。
診断
SQLGetTranslator が FALSE を返すと、SQLInstallerError を呼び出すことによって、関連付けられている *pfErrorCode 値を取得できます。 次の表に、SQLInstallerError によって返される *pfErrorCode 値の一覧を示し、この関数のコンテキストでそれぞれについて説明します。
*pfErrorCode | エラー | 説明 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 一般的なインストーラー エラー | 特定のインストーラー エラーがないエラーが発生しました。 |
ODBC_ERROR_INVALID_BUFF_LEN | バッファー長が無効です | cbNameMax 引数または cbPathMax 引数が 0 以下でした。 |
ODBC_ERROR_INVALID_HWND | 無効なウィンドウ ハンドル | hwndParent 引数が無効または NULL です。 |
ODBC_ERROR_INVALID_NAME | ドライバーまたはトランスレーター名が無効です | lpszName 引数が無効です。 レジストリに見つかりませんでした。 |
ODBC_ERROR_LOAD_LIBRARY_FAILED | ドライバーまたはトランスレーターのセットアップ ライブラリを読み込めませんでした | トランスレーター ライブラリを読み込めませんでした。 |
ODBC_ERROR_INVALID_OPTION | トランザクション オプションが無効です | pvOption 引数に無効な値が含まれていました。 |
ODBC_ERROR_OUT_OF_MEM | メモリ不足 | メモリ不足のため、インストーラーで関数を実行できませんでした。 |
説明
hwndParent が null の場合、または lpszName、lpszPath、または pvOption が null ポインターの場合、SQLGetTranslator は FALSE を返します。 それ以外の場合は、次のダイアログ ボックスにインストールされているトランスレーターの一覧が表示されます。
lpszName に有効なトランスレーター名が含まれている場合は、その名前が選択されます。 それ以外の場合は、 <Translator> が選択されていません。
ユーザーが [トランスレーター>なし] を選択<した場合、lpszName、lpszPath、pvOption の内容はタッチされません。 SQLGetTranslator は、pcbNameOut と pcbPathOut を 0 に設定し、TRUE を返します。
ユーザーがトランスレーターを選択した場合、 SQLGetTranslator はトランスレーターのセットアップ DLL で ConfigTranslator を呼び出します。 ConfigTranslator が FALSE を返す場合、SQLGetTranslator はダイアログ ボックスに戻ります。 ConfigTranslator が TRUE を返す場合、SQLGetTranslator は TRUE を返し、選択したトランスレーター名、パス、および変換オプションを返します。
関連する関数
対象 | 解決方法については、 |
---|---|
トランスレーターの構成 | ConfigTranslator |
翻訳属性の取得 | SQLGetConnectAttr |
翻訳属性の設定 | SQLSetConnectAttr |