Открытие программного ключа устройства

Не следует напрямую открывать программный ключ устройства. Как и в любом разделе реестра, расположение или формат этих разделов может меняться между различными версиями Windows.

Замечание

Вы должны открыть программный ключ устройства только после обнаружения соответствующего устройства. Дополнительные сведения об этой процедуре см. в разделе "Перечисление установленных устройств".

Чтобы открыть или создать ключ программного обеспечения устройства, выполните следующие рекомендации.

Замечание

Необходимо задать параметр, в котором вы предоставляете запрошенный доступ к безопасности с минимально необходимыми разрешениями. Этот параметр не должен иметь значение KEY_ALL_ACCESS. Дополнительные сведения о том, как указать разрешения на доступ к реестру, см. в разделе "Безопасный доступ к разделам реестра".

  • Чтобы открыть существующий ключ программного обеспечения, используйте CM_Open_DevNode_Key с параметром DispositionRegDisposition_OpenExisting и ulFlags, содержащим CM_REGISTRY_SOFTWARE, или используйте SetupDiOpenDevRegKey с параметром KeyTypeDIREG_DRV.

  • Чтобы создать ключ программного обеспечения, используйте CM_Open_DevNode_Key с параметром DispositionRegDisposition_OpenAlways и ulFlags, содержащим CM_REGISTRY_SOFTWARE, или используйте SetupDiCreateDevRegKey с параметром KeyTypeDIREG_DRV.

  • Вызывающие элементы в режиме ядра должны использовать IoOpenDeviceRegistryKey и задать для параметра DevInstKeyType значение PLUGPLAY_REGKEY_DRIVER.

Изменение значений реестра в разделе 'Программное обеспечение' устройства

Не следует изменять значения следующих записей реестра (свойств устройства) в программном разделе устройства:

  • Дата драйвера
  • DriverDateData
  • DriverDesc
  • Версия драйвера
  • InfPath
  • InfSection
  • InfSectionExt
  • MatchingDeviceId
  • Имя поставщика
  • EnumPropPages32

Эти свойства устройства представляют состояние установки устройства. Прямое изменение этих свойств может привести к недействительному состоянию установки устройства. Например, изменение сведений, связанных с INF-файлом , делает недействительными сведения о файлах драйверов, связанных с такими свойствами, как сведения о подписи устройства и драйвера. Изменение версии драйвера или даты драйвера может нарушить функциональные возможности Центра обновления Windows.

Замечание

Начиная с Windows Vista операционная система накладывает ограничения доступа только во время установки для этих свойств. Значения можно реплицировать для совместимости, а прямое изменение значений во время установки устройства не влияет на внутреннее состояние.