デバイスのソフトウェア キーを開く
デバイスのソフトウェア キーは直接開かないでください。 レジストリ キーと同様に、これらのキーの場所または形式は、Windows のバージョンにより異なる可能性があります。
Note
対応するデバイスが見つかった後にのみ、デバイスのソフトウェア キーを開く必要があります。 この手順の詳細については、「インストールされているデバイスの列挙」を参照してください。
デバイスのソフトウェア キーを開くか作成するには、次のガイドラインに従います。
Note
要求されたセキュリティ アクセスを、必要な最小限のアクセス許可に提供するパラメーターを設定する必要があります。 このパラメーターを KEY_ALL_ACCESS に設定しないでください。 レジストリ アクセスのアクセス許可を指定する方法の詳細については、「安全なレジストリ キーへのアクセス」を参照してください。
既存のソフトウェア キーを開くには、CM_REGISTRY_SOFTWARE を含む RegDisposition_OpenExistingとulFlagsのDisposition でCM_Open_DevNode_Key を使用するか、DIREG_DRVの SetupDiOpenDevRegKey と KeyTypeパラメーターを使用します。
既存のソフトウェア キーを開くには、CM_REGISTRY_SOFTWARE を含む RegDisposition_OpenExistingとulFlagsのDisposition でCM_Open_DevNode_Key を使用するか、DIREG_DRVの SetupDiOpenDevRegKey と KeyTypeパラメーターを使用します。
カーネル モードの呼び出し元は、IoOpenDeviceRegistryKey を使用し、DevInstKeyType パラメーターをPLUGPLAY_REGKEY_DRIVER に設定する必要があります。
デバイスのソフトウェア キーのレジストリ値の変更
デバイスのソフトウェア キーの次のレジストリ エントリ (デバイス プロパティ) の値を変更しないでください。
DriverDate
DriverDateData
DriverDesc
DriverVersion
InfPath
InfSection
InfSectionExt
MatchingDeviceId
ProviderName
EnumPropPages32
これらのデバイス プロパティは、デバイスのインストール状態を表します。 これらのプロパティを直接変更すると、デバイスのインストール状態が無効になる可能性があります。 たとえば、INF ファイルに関連する情報を変更すると、デバイスやドライバーの署名情報などのプロパティに関連付けられているドライバー ファイルに関する情報が無効になります。 ドライバーのバージョンまたはドライバーの日付を変更すると、Windows Update の機能が破損する可能性があります。
Note
Windows Vista 以降、オペレーティング システムでは、これらのプロパティに対して "インストール時のみ" のアクセス制限が適用されます。 互換性のために値をレプリケートすることができ、デバイスのインストール中に値を直接変更しても内部状態には影響しません。