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


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

Функция SetupDiChangeState является обработчиком по умолчанию для запроса на установку DIF_PROPERTYCHANGE.

Синтаксис

WINSETUPAPI BOOL SetupDiChangeState(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

Параметры

[in] DeviceInfoSet

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

[in, out] DeviceInfoData

Указатель на структуру SP_DEVINFO_DATA , указывающую элемент сведений об устройстве в DeviceInfoSet. Это параметр IN-OUT, так как DeviceInfoData.При возврате в DevInst может быть обновлено новое значение дескриптора.

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

Функция возвращает ЗНАЧЕНИЕ TRUE , если оно выполнено успешно. В противном случае возвращается значение FALSE , а зарегистрированная ошибка может быть получена путем вызова Метода GetLastError.

Комментарии

SetupDiChangeState изменяет состояние установленного устройства.

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

Примечание Только установщик класса должен вызывать SetupDiChangeStateState и только в тех ситуациях, когда установщик класса должен выполнять операции изменения свойств после завершения setupDiChangeState операции изменения свойства по умолчанию. В таких ситуациях установщик класса должен напрямую вызывать SetupDiChangeState, когда установщик обрабатывает запрос DIF_PROPERTYCHANGE. Дополнительные сведения о вызове обработчика по умолчанию см. в разделе Вызов обработчиков кода DIF по умолчанию.
 
Вызывающие элементы SetupDiChangeState должны указать флаг DICS_XXX ВSP_PROPCHANGE_PARAMS для элемента устройства, указывающего тип изменения состояния, выполняемого на устройстве. Вызывающие функции должны задать соответствующие поля в SP_PROPCHANGE_PARAMS и вызвать SetupDiSetClassInstallParams перед вызовом этой функции.

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

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

Эта функция выполняет следующие действия:

Вызывающие функции не должны указывать DICS_STOP или DICS_START в SP_PROPCHANGE_PARAMS. Используйте DICS_PROPCHANGE, чтобы остановить и перезапустить устройство, чтобы изменения в конфигурации устройства вступили в силу.

Если для устройства задано DI_DONOTCALLCONFIGMG, не следует вызывать SetupDiChangeStateState для устройства, а установить флаг DI_NEEDREBOOT.

Требования

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

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

DIF_PROPERTYCHANGE

SP_PROPCHANGE_PARAMS

SetupDiCallClassInstaller