次の方法で共有


SQLRemoveDriverManager 関数

準拠
導入されたバージョン: ODBC 3.0: Windows XP Service Pack 2、Windows Server 2003 Service Pack 1 以降のオペレーティング システムでは非推奨になりました。

まとめ
SQLRemoveDriverManager は、システム情報のOdbcinst.iniエントリから ODBC コア コンポーネントに関する情報を変更または削除します。

構文

  
BOOL SQLRemoveDriverManager(  
     LPDWORD     pdwUsageCount);  

引数

pdwUsageCount
[出力]この関数が呼び出された後のドライバー マネージャーの使用数。

戻り値

関数は成功した場合は TRUE を返し、失敗した場合は FALSE を返します。 この関数が呼び出されたときにシステム情報にエントリが存在しない場合、関数は FALSE を返します。

診断

SQLRemoveDriverManager が FALSE を返すと、SQLInstallerError を呼び出すことによって、関連付けられた *pfErrorCode 値を取得できます。 次の表に、SQLInstallerError によって返される *pfErrorCode 値の一覧を示し、この関数のコンテキストでそれぞれについて説明します。

*pfErrorCode エラー 説明
ODBC_ERROR_GENERAL_ERR 一般的なインストーラー エラー 特定のインストーラー エラーがないエラーが発生しました。
ODBC_ERROR_COMPONENT_NOT_FOUND レジストリにコンポーネントが見つかりません インストーラーは、レジストリに存在しなかったか、レジストリに見つからなかったため、ドライバー マネージャー情報を削除できませんでした。
ODBC_ERROR_USAGE_UPDATE_FAILED コンポーネントの使用数をインクリメントまたはデクリメントできませんでした インストーラーは、ドライバー マネージャーの使用数を減らすことができませんでした。
ODBC_ERROR_OUT_OF_MEM メモリ不足 メモリ不足のため、インストーラーで関数を実行できませんでした。

説明

SQLRemoveDriverManager は、SQLInstallDriverManager 関数を補完し、システム情報のコンポーネントの使用数を更新します。 この関数は、セットアップ アプリケーションからのみ呼び出す必要があります。

SQLRemoveDriverManager は、コア コンポーネントの使用数を 1 ずつ減らします。 コンポーネントの使用数が 0 になると、エントリ システム情報が削除されます。 コア コンポーネント エントリは、システム情報の "ODBC Core" というタイトルの下の次の場所にあります。

HKEY_LOCAL_MACHINE

SOFTWARE

ODBC

Odbcinst.ini

注意事項

コンポーネントの使用数とファイル使用量の数が 0 に達した場合、アプリケーションはドライバー マネージャー ファイルを物理的に削除しないでください。

SQLRemoveDriverManager では、実際にはファイルは削除されません。 呼び出し元のプログラムは、ファイルを削除し、ファイル使用量のカウントを維持する役割を担います。 ただし、ドライバー マネージャー ファイルは、コンポーネントの使用数とファイル使用量の数の両方が 0 に達した場合に削除しないでください。これらのファイルは、ファイルの使用数を増やしていない他のアプリケーションで使用される可能性があるためです。

SQLRemoveDriverManager は、アンインストール プロセスの一部として呼び出されます。 ODBC コア コンポーネント (ドライバー マネージャー、カーソル ライブラリ、インストーラー、言語ライブラリ、管理者、サンキング ファイルなど) は、全体としてアンインストールされます。 アンインストール プロセスの一部として SQLRemoveDriverManager が呼び出されると、次のファイルは削除されません。

ODBC32DLL
ODBCCR32.DLL
ODBCCU32.DLL
ODBCINT.DLL
ODBCTRAC.DLL
MSVCRT40.DLL
ODBCCP32.CPL

ODBCCP32.DLL
ODBC16GT.DLL
ODBC32GT.DLL
DS16GT.DLL
DS32GT.DLL
ODBCAD32.EXE

SQLRemoveDriverManager は、アップグレード プロセスの一部としても呼び出されます。 アプリケーションがアップグレードを実行する必要があることを検出し、以前にドライバーをインストールした場合は、ドライバーを削除してから再インストールする必要があります。

SQLRemoveDriverManager を最初に呼び出して、コンポーネントの使用数を減らします。 その後、SQLInstallDriverEx を呼び出して、コンポーネントの使用数を増やす必要があります。 アプリケーション セットアップ プログラムは、古いコア コンポーネント ファイルを新しいファイルに置き換える必要があります。 ファイルの使用数は変わらず、古いバージョンのコア コンポーネント ファイルを使用する他のアプリケーションでは、新しいバージョンのファイルが使用されるようになりました。

対象 解決方法については、
ドライバー マネージャーのインストール SQLInstallDriverManager