次の方法で共有


デバイスのソフトウェア キーを開く

デバイスの ソフトウェア キーを直接開く必要はありません。 レジストリ キーと同様に、これらのキーの場所または形式は、Windows の異なるバージョン間で変更される可能性があります。

対応するデバイスが見つかった後にのみ、デバイスのソフトウェア キーを開く必要があります。 この手順の詳細については、「 インストールされているデバイスの列挙」を参照してください。

デバイスのソフトウェア キーを開くか作成するには、次のガイドラインに従います。

要求されたセキュリティ アクセスを、必要な最小限のアクセス許可に提供するパラメーターを設定する必要があります。 このパラメーターを KEY_ALL_ACCESS に設定しないでください。 レジストリ アクセスのアクセス許可を指定する方法の詳細については、「レジストリ キーへの安全なアクセス」を参照してください。

  • 既存のソフトウェア キーを開くには、CM_Open_DevNode_Keyを使用し、DispositionRegDisposition_OpenExistingulFlagsCM_REGISTRY_SOFTWAREを含めるか、またはSetupDiOpenDevRegKeyKeyTypeパラメーターにDIREG_DRVを使用します。

  • ソフトウェア キーを作成するには、CM_REGISTRY_SOFTWAREを含む RegDisposition_OpenAlwaysulFlagsDispositionCM_Open_DevNode_Keyを使用するか、DIREG_DRVSetupDiCreateDevRegKey および KeyType パラメーターを使用します。

  • カーネル モードの呼び出し元は 、IoOpenDeviceRegistryKey を 使用し、 DevInstKeyType パラメーターをPLUGPLAY_REGKEY_DRIVERに設定する必要があります。

デバイスのソフトウェア キーのレジストリ値の変更

デバイスのソフトウェア キーの次のレジストリ エントリ (デバイス プロパティ) の値を変更しないでください。

  • DriverDate
  • DriverDateData
  • DriverDesc
  • ドライバーバージョン
  • InfPath
  • InfSection
  • InfSectionExt
  • マッチングデバイスID
  • プロバイダーネーム
  • EnumPropPages32

これらのデバイス プロパティは、デバイスのインストール状態を表します。 これらのプロパティを直接変更すると、デバイスのインストール状態が無効になる可能性があります。 たとえば、 INF ファイル に関連する情報を変更すると、デバイスやドライバーの署名情報などのプロパティに関連付けられているドライバー ファイルに関する情報が無効になります。 ドライバーのバージョンまたはドライバーの日付を変更すると、Windows Update の機能が壊れる可能性があります。

Windows Vista 以降、オペレーティング システムでは、これらのプロパティに対して "インストール時のみ" のアクセス制限が適用されます。 互換性のために値をレプリケートすることができ、デバイスのインストール中に値を直接変更しても内部状態には影響しません。