SQLGetInstalledDrivers 関数
準拠
導入されたバージョン: ODBC 1.0
まとめ
SQLGetInstalledDrivers は 、システム情報の [ODBC ドライバー] セクションを読み取り、インストールされているドライバーの説明の一覧を返します。
構文
BOOL SQLGetInstalledDrivers(
LPSTR lpszBuf,
WORD cbBufMax,
WORD * pcbBufOut);
引数
lpszBuf
[出力]インストールされているドライバーの説明の一覧。 リスト構造の詳細については、「コメント」を参照してください。
cbBufMax
[入力] lpszBuf の長さ。
pcbBufOut
[出力] lpszBuf で返される合計バイト数 (null 終了バイトを除く)。 返される使用可能なバイト数が cbBufMax 以上の場合、 lpszBuf 内のドライバー記述の一覧は cbBufMax から null 終端文字を引いた値に切り捨てられます。 pcbBufOut 引数には null ポインターを指定できます。
戻り値
関数は成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
診断
SQLGetInstalledDrivers が FALSE を返す場合は、SQLInstallerError を呼び出すことによって、関連付けられた *pfErrorCode 値を取得できます。 次の表に、SQLInstallerError によって返される *pfErrorCode 値の一覧を示し、この関数のコンテキストでそれぞれについて説明します。
*pfErrorCode | エラー | 説明 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 一般的なインストーラー エラー | 特定のインストーラー エラーがないエラーが発生しました。 |
ODBC_ERROR_INVALID_BUFF_LEN | バッファーの長さが無効です | lpszBuf 引数が NULL または無効であるか、cbBufMax 引数が 0 以下でした。 |
ODBC_ERROR_COMPONENT_NOT_FOUND | レジストリにコンポーネントが見つかりません | インストーラーでレジストリの [ODBC ドライバー] セクションが見つかりませんでした。 |
ODBC_ERROR_OUT_OF_MEM | メモリ不足 | メモリ不足のため、インストーラーで関数を実行できませんでした。 |
説明
各ドライバーの説明は null バイトで終了し、リスト全体が null バイトで終了します。 (つまり、2 つの null バイトがリストの末尾をマークします)。割り当てられたバッファーがリスト全体を保持するのに十分な大きさでない場合、リストはエラーなしで切り捨てられます。 null ポインターが lpszBuf として渡されると、エラーが返されます。
関連する関数
対象 | 解決方法については、 |
---|---|
ドライバーの説明と属性を返す | SQLDrivers |