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


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

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

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

  • Обработка кодов 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

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

SetupDiDestroyDeviceInfoList

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

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

SetupDiBuildDriverInfoList

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

SetupDiEnumDriverInfo

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

SetupDiGetDriverInfoDetail

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

SetupDiSetSelectedDriver

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

SetupDiGetSelectedDriver

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

SetupDiCancelDriverInfoSearch

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

SetupDiDestroyDriverInfoList

Уничтожает список сведений о драйвере.

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

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)

SetupDiDestroyClassImageList

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

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

Примечание.

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

SetupDiCreateDeviceInterface

Регистрирует функции устройства (интерфейс устройства) для устройства.

SetupDiOpenDeviceInterface

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

SetupDiGetDeviceInterfaceAlias

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

SetupDiGetClassDevs

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

SetupDiGetClassDevsEx

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

SetupDiEnumDeviceInterfaces

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

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

SetupDiGetDeviceInterfaceDetail

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

SetupDiCreateDeviceInterfaceRegKey

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

SetupDiOpenDeviceInterfaceRegKey

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

SetupDiDeleteDeviceInterfaceRegKey

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

SetupDiInstallDeviceInterfaces

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

SetupDiRemoveDeviceInterface

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

SetupDiDeleteDeviceInterfaceData

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

SetupDiSetDeviceInterfaceDefault

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

SetupDiInstallClassEx

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

SetupDiOpenClassRegKeyEx

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

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

Примечание.

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

SetupDiGetClassProperty

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

SetupDiGetClassPropertyEx

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

SetupDiGetClassPropertyKeys

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

SetupDiGetClassPropertyKeysEx

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

SetupDiGetDeviceInterfaceProperty

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

SetupDiGetDeviceInterfacePropertyKeys

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

SetupDiGetDeviceProperty

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

SetupDiGetDevicePropertyKeys

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

SetupDiSetClassProperty

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

SetupDiSetClassPropertyEx

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

SetupDiSetDeviceInterfaceProperty

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

SetupDiSetDeviceProperty

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

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

Примечание.

SetupApi не поддерживается во всех выпусках Windows. По возможности следует использовать 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

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