Поделиться через


Функция SetupDiOpenDevRegKey (setupapi.h)

Функция SetupDiOpenDevRegKey открывает раздел реестра для сведений о конфигурации конкретного устройства.

Синтаксис

WINSETUPAPI HKEY SetupDiOpenDevRegKey(
  [in] HDEVINFO         DeviceInfoSet,
  [in] PSP_DEVINFO_DATA DeviceInfoData,
  [in] DWORD            Scope,
  [in] DWORD            HwProfile,
  [in] DWORD            KeyType,
  [in] REGSAM           samDesired
);

Параметры

[in] DeviceInfoSet

Дескриптор набора сведений об устройстве , содержащего элемент сведений об устройстве, представляющий устройство, для которого открывается раздел реестра.

[in] DeviceInfoData

Указатель на структуру SP_DEVINFO_DATA , указывающую элемент сведений об устройстве в DeviceInfoSet.

[in] Scope

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

DICS_FLAG_GLOBAL

Откройте ключ для хранения сведений о глобальной конфигурации. Эти сведения не относятся к конкретному профилю оборудования. Откроется ключ, укорененная в HKEY_LOCAL_MACHINE. Точный открытый ключ зависит от значения параметра KeyType .

DICS_FLAG_CONFIGSPECIFIC

Откройте ключ для хранения сведений о конфигурации, относящихся к профилю оборудования. Этот ключ коренится в одной из ветвей аппаратного профиля, а не в HKEY_LOCAL_MACHINE. Точный открытый ключ зависит от значения параметра KeyType .

[in] HwProfile

Значение профиля оборудования, которое задается следующим образом:

  • Если для параметра Scope задано значение DICS_FLAG_CONFIGSPECIFIC, HwProfile указывает аппаратный профиль открываемого ключа.
  • Если HwProfile имеет значение 0, открывается ключ для текущего профиля оборудования.
  • Если параметр Scope имеет DICS_FLAG_GLOBAL, HwProfile игнорируется.

[in] KeyType

Тип открываемого раздела хранилища реестра, который может иметь одно из следующих значений:

DIREG_DEV

Откройте аппаратный ключ для устройства.

DIREG_DRV

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

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

[in] samDesired

Доступ к системе безопасности реестра, необходимый для запрошенного раздела. Сведения о значениях доступа к системе безопасности реестра типа REGSAM см. в документации по Microsoft Windows SDK.

Возвращаемое значение

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

Если функция завершается сбоем, она возвращает INVALID_HANDLE_VALUE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

В зависимости от значения, передаваемого в параметре samDesired , может потребоваться, чтобы вызывающий объект этой функции был членом группы Администраторы.

Закройте дескриптор, возвращенный этой функцией, вызвав RegCloseKey.

Указанный экземпляр устройства должен быть зарегистрирован перед вызовом этой функции. Однако имейте в виду, что операционная система автоматически регистрирует экземпляры устройств PnP. Сведения о регистрации экземпляров устройств, отличных от PnP, см. в разделе SetupDiRegisterDeviceInfo.

Требования

   
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа DesktopДля универсального, вызовите CM_Open_DevNode_Key
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib
DLL Setupapi.dll
Набор API ext-ms-win-setupapi-classinstallers-l1-1-2 (представлено в Windows 10 версии 10.0.14393)

См. также раздел

SetupDiCreateDevRegKey

SetupDiCreateDeviceInfo

SetupDiGetHwProfileList

SetupDiRegisterDeviceInfo