次の方法で共有


デバイスのレジストリ キーを削除する

次の理由により、CM_Delete_DevNode_Key または SetupDiDeleteDevRegKey を使用して、デバイスのソフトウェアキーまたはハードウェアキーを削除しないでください。

  • CM_Delete_DevNode_KeySetupDiDeleteDevRegKey は、レジストリキーのすべてのカスタム設定を削除します。 次に例を示します。

    • インストール中に指定された設定。

    • デバイスドライバーによって作成または変更された設定。

    • アプリケーションまたはその他のコンポーネントによって作成または変更された設定。

      CM_Delete_DevNode_KeySetupDiDeleteDevRegKey によって、重要なデバイスのインストール状態も削除されます。

  • CM_Open_DevNode_Key または SetupDiOpenDevRegKey を使用して開かれたソフトウェアまたはハードウェアキー DICS_FLAG_GLOBAL、デバイスのインストール状態に関するデータが含まれます。 DICS_FLAG_CONFIGSPECIFIC のスコープでアクセスされるソフトウェア、またはハードウェアキーには、デバイスのインストール状態が含まれていません。

    いずれの場合も、これらのソフトウェアキーまたはハードウェアキーを削除すると、他のデバイスインストールコンポーネントに影響する可能性があります。

デバイスのレジストリキーが存在するかどうかについて想定しないでください。 デバイスがアンインストールされると、システムはデバイスのすべてのソフトウェア キーとハードウェア キーを自動的に削除します。

標準のレジストリ関数を使用して、ハードウェアキーまたはソフトウェアキーの下にレジストリサブキーを安全に作成および削除できます。 これらの関数を使用すると、システムと他のコンポーネント間の名前の競合を回避できます。 また、これらの関数を使用してサブキーを作成した場合、サブキーは親レジストリ キーの既定のアクセス許可を継承します。 詳細については、キーを開く、作成する、閉じるを参照してください。

標準レジストリ関数の詳細については、レジストリ関数を参照してください。