Использование функций установки устройств

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

  • Установка драйверов

  • Обработка кодов DIF.

  • Управление наборами сведений об устройствах.

  • Управление списками драйверов.

  • Управление интерфейсами устройств.

  • Управление значками и другими растровыми изображениями.

В следующих таблицах приведены сводки по следующим типам функций:

Функции установки драйверов

Функции сведений об устройстве

Функции со сведениями о драйвере

Обработчики установки устройств

Функции настройки установки устройства

Настройка функций класса

Функции точечных изображений и значков

Функции интерфейса устройства

Функции свойств устройства (Windows Vista и более поздние версии)

Функции реестра

Другие функции

Функции установки драйверов

DiInstallDevice

Устанавливает указанный пакет драйвера, предварительно установленный в хранилище драйверов на устройстве PnP, которое присутствует в системе. (Windows Vista и более поздние версии Windows)

DiUninstallDevice

Удаляет устройство и удаляет его узел устройства (devnode) из системы. (Windows 7 и более поздние версии Windows)

DiInstallDriver

Предварительно устанавливает пакет драйверов в хранилище драйверов, а затем устанавливает его на соответствующие устройства PnP, которые присутствуют в системе. (Windows Vista и более поздние версии Windows)

DiUninstallDriver

Удаляет пакет драйверов из хранилища драйверов. (Windows 10 версии 1703 и более поздних версий Windows)

UpdateDriverForPlugAndPlayDevices

Обновления пакет драйверов, установленный для соответствующих устройств PnP, присутствующих в системе.

DiRollbackDriver

Выполняет откат пакета драйвера, установленного на указанном устройстве, до пакета драйвера резервного копирования, установленного для устройства. (Windows Vista и более поздние версии Windows)

Функции сведений об устройстве

Примечание

SetupApi поддерживается не во всех выпусках Windows. По возможности следует использовать ИНТЕРФЕЙСы API нижнего уровня, например те, которые доступны через CfgMgr32.dll. Советы см. в разделе Перенос из SetupApi в CfgMgr32 .

SetupDiCreateDeviceInfoList

Создает пустой набор сведений об устройстве. Этот набор можно связать с GUID класса.

SetupDiCreateDeviceInfoListEx

Создает пустой набор сведений об устройстве. Этот набор может быть связан с GUID класса и может использоваться для устройств на удаленном компьютере.

SetupDiCreateDeviceInfo

Создает новый элемент сведений об устройстве и добавляет его в качестве нового элемента в указанный набор сведений об устройстве.

SetupDiOpenDeviceInfo

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

SetupDiEnumDeviceInfo

Возвращает структуру контекста для элемента сведений об устройстве набора сведений об устройстве.

SetupDiGetDeviceInstanceId

Извлекает идентификатор экземпляра устройства, связанный с элементом сведений об устройстве.

SetupDiGetDeviceInfoListClass

Извлекает GUID класса, связанный с набором сведений об устройстве, если у него есть связанный класс.

SetupDiGetDeviceInfoListDetail

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

SetupDiGetClassDevPropertySheets

Извлекает дескрипторы на листы свойств указанного элемента сведений об устройстве или класса настройки устройства указанного набора сведений об устройстве.

SetupDiGetClassDevs

Возвращает набор сведений об устройствах, содержащий все устройства указанного класса.

SetupDiGetClassDevsEx

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

SetupDiSetSelectedDevice

Задает указанный элемент сведений об устройстве в качестве выбранного в данный момент элемента набора сведений об устройстве. Эта функция обычно используется мастером установки.

SetupDiGetSelectedDevice

Извлекает выбранное в данный момент устройство для указанного набора сведений об устройстве.

SetupDiRegisterDeviceInfo

Регистрирует созданный экземпляр устройства в диспетчере Plug and Play.

SetupDiDeleteDeviceInfo

Удаляет элемент из указанного набора сведений об устройстве. Эта функция не удаляет фактическое устройство.

SetupDiDeplastDeviceInfoList

Уничтожает набор сведений об устройстве и освобождает всю связанную память.

Функции со сведениями о драйвере

SetupDiBuildDriverInfoList

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

SetupDiEnumDriverInfo

Перечисляет элементы списка сведений о драйвере.

SetupDiGetDriverInfoDetail

Извлекает подробные сведения для указанного элемента сведений о драйвере.

SetupDiSetSelectedDriver

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

SetupDiGetSelectedDriver

Извлекает элемент списка драйверов, который был выбран в качестве устанавливаемого драйвера.

SetupDiCancelDriverInfoSearch

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

SetupDiDeplastDriverInfoList

Удаляет список сведений о драйверах.

Обработчики установки устройств

SetupDiCallClassInstaller

Вызывает соответствующий установщик класса и все зарегистрированные совместные установщики с указанным запросом на установку.

SetupDiChangeState

Обработчик по умолчанию для запроса DIF_PROPERTYCHANGE. Его можно использовать для изменения состояния установленного устройства.

SetupDiRegisterCoDeviceInstallers

Регистрирует установщики для конкретного устройства, перечисленные в INF-файле для указанного устройства. Эта функция является обработчиком по умолчанию для DIF_REGISTER_COINSTALLERS.

SetupDiInstallDevice

Обработчик по умолчанию для запроса DIF_INSTALLDEVICE.

SetupDiInstallDriverFiles

Обработчик по умолчанию для запроса DIF_INSTALLDEVICEFILES.

SetupDiInstallDeviceInterfaces

Обработчик по умолчанию для запроса DIF_INSTALLINTERFACES. Он устанавливает интерфейсы, перечисленные в DDInstall. Раздел Interfaces в INF-файле устройства.

SetupDiMoveDuplicateDevice

Эта функция устарела и не может использоваться ни в одной версии Microsoft Windows.

SetupDiRemoveDevice

Обработчик по умолчанию для запроса DIF_REMOVEDEVICE.

SetupDiUnremoveDevice

Обработчик по умолчанию для запроса DIF_UNREMOVE.

SetupDiRegisterDeviceInfo

Обработчик по умолчанию для запроса DIF_REGISTERDEVICE.

SetupDiSelectDevice

Обработчик по умолчанию для запроса DIF_SELECTDEVICE.

SetupDiSelectBestCompatDrv

Обработчик по умолчанию для запроса DIF_SELECTBESTCOMPATDRV.

SetupDiSelectDevice

Обработчик по умолчанию для запроса DIF_SELECTDEVICE.

Функции настройки установки устройства

SetupDiGetClassInstallParams

Извлекает параметры установки класса для набора сведений об устройстве или определенного элемента сведений об устройстве.

SetupDiSetClassInstallParams

Задает или очищает параметры установки класса для набора сведений об устройстве или определенного элемента сведений об устройстве.

SetupDiGetDeviceInstallParams

Извлекает параметры установки устройства для набора сведений об устройстве или определенного элемента сведений об устройстве.

SetupDiSetDeviceInstallParams

Задает параметры установки устройства для набора сведений об устройстве или определенного элемента сведений об устройстве.

SetupDiGetDriverInstallParams

Извлекает параметры установки для указанного драйвера.

SetupDiSetDriverInstallParams

Задает параметры установки для указанного драйвера.

Настройка функций класса

SetupDiBuildClassInfoList

Возвращает список идентификаторов GUID класса установки, который включает все классы, установленные в системе.

SetupDiBuildClassInfoListEx

Возвращает список GUID класса установки, который включает все классы, установленные в локальной или удаленной системе.

SetupDiGetClassDescription

Извлекает описание класса, связанное с указанным GUID класса установки.

SetupDiGetClassDescriptionEx

Возвращает описание класса установки, установленного на локальном или удаленном компьютере.

SetupDiGetINFClass

Извлекает класс указанного INF-файла устройства.

SetupDiClassGuidsFromName

Извлекает идентификаторы GUID, связанные с указанным именем класса. Этот список основан на том, какие классы в настоящее время установлены в системе.

SetupDiClassGuidsFromNameEx

Извлекает идентификаторы GUID, связанные с указанным именем класса. Этот итоговый список содержит классы, установленные в настоящее время на локальном или удаленном компьютере.

SetupDiClassNameFromGuid

Получает имя класса, связанное с идентификатором GUID класса.

SetupDiClassNameFromGuidEx

Извлекает имя класса, связанное с идентификатором GUID класса. Класс можно установить на локальном или удаленном компьютере.

SetupDiInstallClass

Устанавливает раздел ClassInstall32 указанного INF-файла.

SetupDiInstallClassEx

Устанавливает установщик класса или класс интерфейса.

SetupDiOpenClassRegKey

Открывает раздел реестра класса настройки устройства или определенный подраздел класса .

SetupDiOpenClassRegKeyEx

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

Функции точечных изображений и значков

SetupDiGetClassImageList

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

SetupDiGetClassImageListEx

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

SetupDiGetClassImageIndex

Извлекает индекс в списке изображений класса указанного класса.

SetupDiGetClassBitmapIndex

Извлекает индекс мини-значка, предоставленного для указанного класса.

SetupDiDrawMiniIcon

Рисует указанный мини-значок в запрошенном расположении.

SetupDiLoadClassIcon

Загружает большой и мини-значок для указанного класса.

SetupDiLoadDeviceIcon

Загружает значок устройства для указанного устройства. (Windows Vista и более поздние версии Windows)

SetupDiDe пример классаImageList

Уничтожает список образов классов.

Функции интерфейса устройства

Примечание

SetupApi поддерживается не во всех выпусках Windows. По возможности следует использовать ИНТЕРФЕЙСы API нижнего уровня, например те, которые доступны через CfgMgr32.dll. Советы см. в разделе Перенос из SetupApi в CfgMgr32 .

SetupDiCreateDeviceInterface

Регистрирует функциональные возможности устройства (интерфейс устройства).

SetupDiOpenDeviceInterface

Извлекает сведения о существующем интерфейсе устройства и добавляет их в указанный набор сведений об устройстве.

SetupDiGetDeviceInterfaceAlias

Возвращает псевдоним указанного интерфейса устройства.

SetupDiGetClassDevs

Возвращает набор сведений об устройстве, содержащий все устройства указанного класса.

SetupDiGetClassDevsEx

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

SetupDiEnumDeviceInterfaces

Возвращает структуру контекста для элемента интерфейса устройства набора сведений об устройстве. Каждый вызов возвращает сведения об одном интерфейсе устройства.

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

SetupDiGetDeviceInterfaceDetail

Возвращает сведения об определенном интерфейсе устройства.

SetupDiCreateDeviceInterfaceRegKey

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

SetupDiOpenDeviceInterfaceRegKey

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

SetupDiDeleteDeviceInterfaceRegKey

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

SetupDiInstallDeviceInterfaces

Обработчик по умолчанию для запроса DIF_INSTALLINTERFACES. Он устанавливает интерфейсы, перечисленные в DDInstall. Раздел интерфейсов INF-файла устройства.

SetupDiRemoveDeviceInterface

Удаляет зарегистрированный интерфейс устройства из системы.

SetupDiDeleteDeviceInterfaceData

Удаляет интерфейс устройства из набора сведений об устройствах.

SetupDiSetDeviceInterfaceDefault

Задает указанный интерфейс устройства в качестве интерфейса по умолчанию для класса устройства.

SetupDiInstallClassEx

Устанавливает установщик класса или класс интерфейса.

SetupDiOpenClassRegKeyEx

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

Функции свойств устройства (Windows Vista и более поздние версии)

Примечание

SetupApi поддерживается не во всех выпусках Windows. По возможности следует использовать API нижнего уровня, например api, доступные черезCfgMgr32.dll. Советы см. в статье Перенос из SetupApi в CfgMgr32 .

SetupDiGetClassProperty

Извлекает свойство устройства, заданное для класса настройки устройства или класса интерфейса устройства.

SetupDiGetClassPropertyEx

Извлекает свойство класса для класса настройки устройства или класса интерфейса устройства на локальном или удаленном компьютере.

SetupDiGetClassPropertyKeys

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

SetupDiGetClassPropertyKeysEx

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

SetupDiGetDeviceInterfaceProperty

Извлекает свойство устройства, заданное для интерфейса устройства.

SetupDiGetDeviceInterfacePropertyKeys

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

SetupDiGetDeviceProperty

Извлекает свойство экземпляра устройства.

SetupDiGetDevicePropertyKeys

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

SetupDiSetClassProperty

Задает свойство класса для класса настройки устройства или класса интерфейса устройства.

SetupDiSetClassPropertyEx

Задает свойство устройства для класса настройки устройства или класса интерфейса устройства на локальном или удаленном компьютере.

SetupDiSetDeviceInterfaceProperty

Задает свойство устройства интерфейса устройства.

SetupDiSetDeviceProperty

Задает свойство экземпляра устройства.

Функции реестра

Примечание

SetupApi поддерживается не во всех выпусках Windows. По возможности следует использовать API нижнего уровня, например api, доступные черезCfgMgr32.dll. Советы см. в статье Перенос из SetupApi в CfgMgr32 .

SetupDiCreateDevRegKey

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

SetupDiOpenDevRegKey

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

SetupDiDeleteDevRegKey

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

SetupDiOpenClassRegKey

Открывает раздел реестра класса установки или определенный подраздел класса .

SetupDiOpenClassRegKeyEx

Открывает раздел реестра класса настройки устройства, раздел реестра класса интерфейса устройства или определенный подраздел класса .

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

SetupDiCreateDeviceInterfaceRegKey

Создает неизменяемый подраздел реестра для хранения сведений об экземпляре интерфейса устройства и возвращает дескриптор в ключ.

SetupDiOpenDeviceInterfaceRegKey

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

SetupDiDeleteDeviceInterfaceRegKey

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

SetupDiSetDeviceRegistryProperty

Задает указанное свойство устройства Plug and Play.

SetupDiGetDeviceRegistryProperty

Извлекает указанное свойство устройства Plug and Play.

SetupDiGetClassRegistryProperty

Извлекает указанное свойство класса устройства из реестра.

SetupDiSetClassRegistryProperty

Задает указанное свойство класса устройства в реестре.

Другие функции

SetupDiGetActualModelsSection

Извлекает соответствующий раздел "Модели INF ", используемый при установке устройства из INF-файла устройства.

SetupDiGetActualSectionToInstall

Извлекает соответствующий раздел DDInstall , используемый при установке устройства из INF-файла устройства.

SetupDiGetActualSectionToInstallEx

Извлекает имя раздела INF DDInstall , который устанавливает устройство для указанной архитектуры операционной системы и процессора.

SetupDiGetHwProfileFriendlyName

Извлекает понятное имя, связанное с идентификатором профиля оборудования.

SetupDiGetHwProfileFriendlyNameEx

Извлекает понятное имя, связанное с идентификатором профиля оборудования на локальном или удаленном компьютере.

SetupDiGetHwProfileList

Извлекает список всех определенных в настоящее время идентификаторов профилей оборудования.

SetupDiGetHwProfileListEx

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

SetupDiRestartDevices

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