Функция SetupDiRestartDevices (setupapi.h)
Функция SetupDiRestartDevices перезапускает указанное устройство или, при необходимости, перезапускает все устройства, управляемые той же функцией и драйверами фильтров, которые работают с указанным устройством.
Синтаксис
WINSETUPAPI BOOL SetupDiRestartDevices(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData
);
Параметры
[in] DeviceInfoSet
Дескриптор набора сведений об устройстве , который содержит элемент сведений об устройстве, представляющий устройство для перезапуска.
[in, out] DeviceInfoData
Указатель на структуру SP_DEVINFO_DATA для элемента сведений об устройстве, представляющего устройство для перезапуска. Этот параметр также является выходным, так как SetupDiRestartDevices обновляет параметры установки устройства для этого элемента сведений об устройстве, а также состояние и код проблемы соответствующего экземпляра устройства. Дополнительные сведения об этих обновлениях см. в следующем разделе Примечаний .
Возвращаемое значение
Если операция выполнена успешно, SetupDiRestartDevices возвращает значение TRUE; В противном случае функция возвращает значение FALSE , а зарегистрированную ошибку можно получить путем вызова Метода GetLastError.
Комментарии
SetupDiRestartDevices должен вызываться только установщиком класса, когда установщик класса обрабатывает запрос DIF_INSTALLDEVICE, и только в редких случаях, когда установщик класса должен выполнять операции после завершения всех операций установки по умолчанию, кроме запуска устройства. Дополнительные сведения о вызове SetupDiRestartDevices в таких ситуациях см. в разделе DIF_INSTALLDEVICE.
SetupDiRestartDevices перезапускает только указанное устройство, если перезагрузка может быть выполнена, не влияя на установку других устройств, управляемых тем же драйвером функций или драйверами фильтров, которые управляют устройством. В частности, если при перезапуске указанного устройства не копируются новые файлы или не изменяются файлы, установленные ранее для устройства, SetupDiRestartDevices перезапускает только указанное устройство. В противном случае функция перезапускает все устройства, управляемые той же функцией, и драйверами фильтров, которые работают с указанным устройством.
SetupDiRestartDevices обновляет параметры установки устройства и состояние устройства в соответствии с результатами операции перезапуска. Пример:
- Если устройство запущено, SetupDiRestartDevices устанавливает состояние устройства в DN_STARTED.
- Если для запуска устройства требуется перезагрузка системы, SetupDiRestartDevices устанавливает флаг DI_NEEDREBOOT в элементе Flags структуры SP_DEVINSTALL_PARAMETER, связанной с элементом сведений об устройстве, и задает код проблемы для устройства CM_PROB_NEED_RESTART.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Server 2003 и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | setupapi.h (включая Setupapi.h) |
Библиотека | Setupapi.lib |
DLL | Setupapi.dll |