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


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

Функция SetupDiCreateDeviceInterfaceRegKey создает раздел реестра для хранения сведений об интерфейсе устройства и возвращает дескриптор в ключ.

Синтаксис

WINSETUPAPI HKEY SetupDiCreateDeviceInterfaceRegKeyA(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in]           PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
                 DWORD                     Reserved,
  [in]           REGSAM                    samDesired,
  [in, optional] HINF                      InfHandle,
  [in, optional] PCSTR                     InfSectionName
);

Параметры

[in] DeviceInfoSet

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

[in] DeviceInterfaceData

Указатель на структуру SP_DEVICE_INTERFACE_DATA , указывающую интерфейс устройства в DeviceInfoSet. Возможно, этот указатель возвращается программой SetupDiCreateDeviceInterface.

Reserved

Зарезервировано. Должен равняться нулю.

[in] samDesired

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

[in, optional] InfHandle

Дескриптор открытого INF-файла, содержащего раздел DDInstall , который будет выполнен для только что созданного ключа. Этот параметр является необязательным и может иметь значение NULL. Если этот параметр не имеет значение NULL, необходимо также указать InfSectionName .

[in, optional] InfSectionName

Указатель на имя раздела INF DDInstall в INF-файле, заданном InfHandle. Этот раздел выполняется для только что созданного ключа. Этот параметр является необязательным и может иметь значение NULL. Если указан этот параметр, необходимо также указать InfHandle .

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

Если setupDiCreateDeviceInterfaceRegKey завершается успешно, функция возвращает дескриптор запрошенного раздела реестра, в котором можно хранить и извлекать сведения об интерфейсе. Если SetupDiCreateDeviceInterfaceRegKey завершается сбоем, функция возвращает INVALID_HANDLE_VALUE. Вызовите Метод GetLastError , чтобы получить расширенные сведения об ошибке.

Комментарии

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

Если запрошенный ключ для интерфейса устройства уже существует, SetupDiCreateDeviceInterfaceRegKey возвращает дескриптор для этого ключа; В противном случае SetupDiCreateDeviceInterfaceRegKey создает новый неизменяемый раздел реестра для указанного интерфейса устройства. Вызывающие функции могут хранить частные данные конфигурации для интерфейса устройства в этом ключе. Драйвер устройства может получить доступ к этому ключу с помощью процедур IoXxx .

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

Для установок, использующих файлы макета (указанные в записи LayoutFile в разделе INF Version), файл макета должен быть открыт путем вызова SetupOpenAppendInfFile (описано в документации по Windows SDK) перед вызовом SetupDiCreateDeviceInterfaceRegKey.

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

Примечание

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

Требования

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

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

SetupDiCreateDeviceInterface

SetupDiDeleteDeviceInterfaceRegKey

SetupDiOpenDeviceInterfaceRegKey