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


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

Функция SetupDiOpenClassRegKeyEx открывает раздел реестра класса установки устройства , раздел реестра класса интерфейса устройства или подраздел определенного класса. Эта функция открывает указанный ключ на локальном компьютере или на удаленном компьютере.

Синтаксис

WINSETUPAPI HKEY SetupDiOpenClassRegKeyExA(
  [in, optional] const GUID *ClassGuid,
  [in]           REGSAM     samDesired,
  [in]           DWORD      Flags,
  [in, optional] PCSTR      MachineName,
                 PVOID      Reserved
);

Параметры

[in, optional] ClassGuid

Указатель на GUID класса, раздел реестра которого необходимо открыть. Этот параметр является необязательным и может иметь значение NULL. Если этот параметр имеет значение NULL, открывается корень дерева класса (HKLM\SYSTEM\CurrentControlSet\Control\Class).

[in] samDesired

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

[in] Flags

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

DIOCR_INSTALLER

Откройте ключ класса установки. Если ClassGuid имеет значение NULL, откройте корневой ключ ветви установщика класса.

DIOCR_INTERFACE

Откройте ключ класса интерфейса. Если ClassGuid имеет значение NULL, откройте корневой ключ ветви класса интерфейса.

[in, optional] MachineName

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

Внимание!

Использование этой функции для доступа к удаленным компьютерам не поддерживается начиная с Windows 8 и Windows Server 2012, так как эта функция была удалена.

Reserved

Зарезервировано. Должен иметь значение NULL.

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

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

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

Комментарии

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

SetupDiOpenClassRegKeyEx не создает раздел реестра, если он еще не существует.

Вызывающие функции должны закрыть дескриптор, возвращенный этой функцией, путем вызова RegCloseKey.

Примечание

Заголовок setupapi.h определяет SetupDiOpenClassRegKeyEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib

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

SetupDiCreateDeviceInterfaceRegKey

SetupDiOpenDevRegKey