Функция DiShowUpdateDevice (newdev.h)
Функция DiShowUpdateDevice отображает мастер обновления оборудования для указанного устройства.
Синтаксис
BOOL DiShowUpdateDevice(
[in, optional] HWND hwndParent,
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Flags,
[out, optional] PBOOL NeedReboot
);
Параметры
[in, optional] hwndParent
Дескриптор окна верхнего уровня, которое DiShowUpdateDevice использует для отображения всех компонентов пользовательского интерфейса, связанных с обновлением указанного устройства. Этот параметр является необязательным и может иметь значение NULL.
[in] DeviceInfoSet
Дескриптор набора сведений об устройстве , который содержит элемент сведений об устройстве, представляющий устройство, для которого отображается мастер обновления оборудования.
[in] DeviceInfoData
Указатель на структуру SP_DEVINFO_DATA , представляющую устройство, для которого будет отображаться мастер обновления оборудования.
[in] Flags
Для этого параметра необходимо задать нулевое значение.
[out, optional] NeedReboot
Указатель на значение типа BOOL, заданное DiShowUpdateDevice , чтобы указать, требуется ли перезагрузка системы для завершения обновления драйвера. Этот параметр является необязательным и может иметь значение NULL. Если указан параметр и для завершения обновления драйвера требуется перезагрузка системы, DiShowUpdateDevice задает значение TRUE. В этом случае вызывающий объект должен предложить пользователю перезапустить систему. Если этот параметр указан и для завершения установки не требуется перезапуск системы, DiShowUpdateDevice устанавливает значение FALSE. Если параметр имеет значение NULL и для завершения обновления драйвера требуется перезагрузка системы, DiShowUpdateDevice отображает диалоговое окно перезагрузки системы. Дополнительные сведения об этом параметре см. в следующем разделе Примечания .
Возвращаемое значение
DiShowUpdateDevice возвращает значение TRUE , если мастер обновления оборудования успешно обновил драйвер для указанного устройства. В противном случае DiShowUpdateDevice возвращает значение FALSE , и зарегистрированную ошибку можно получить, выполнив вызов GetLastError. Ниже приведены некоторые из наиболее распространенных значений ошибок, которые может возвращать GetLastError .
Код возврата | Описание |
---|---|
|
Вызывающий объект не имеет прав администратора. По умолчанию Windows требует, чтобы вызывающий процесс был иметь права администратора для обновления пакета драйверов. |
|
Пользователь отменил работу мастера обновления оборудования. |
|
Вызывающее приложение — это 32-разрядное приложение, которое пытается выполнить в 64-разрядной среде, что запрещено. Дополнительные сведения см. в разделе Установка устройств в 64-разрядных системах. |
|
Значение, указанное для параметра Флаги, не равно нулю. |
Комментарии
DiShowUpdateDevice отображает мастер обновления оборудования для указанного экземпляра устройства. Сведения об обновлении драйверов устройств с помощью мастера обновления оборудования см. в разделе Центр справки и поддержки.
Как правило, приложения установки должны задать для параметра NeedRebootзначение NULL , чтобы система автоматически инициировала перезагрузку системы, если перезагрузка требуется для завершения обновления оборудования. Приложение должно предоставлять указатель NeedReboot только в следующих случаях:
- Приложение установки должно несколько раз вызывать DiShowUpdateDevice для завершения обновлений оборудования. В этом случае приложение должно записать, возвращается ли значение TRUENeedReboot любым из вызовов DiShowUpdateDevice , и, если да, предложите пользователю перезапустить систему после окончательного вызова DiShowUpdateDevice .
- Приложение должно выполнять необходимые операции, кроме вызова DiShowUpdateDevice, прежде чем произойдет перезагрузка системы. Если требуется перезагрузка системы, приложение должно завершить необходимые операции, а затем предложить пользователю перезапустить систему.
Чтобы установить новый драйвер для устройства вместо вызова мастера обновления оборудования, вызовите Метод DiInstallDriver или UpdateDriverForPlugAndPlayDevices.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | newdev.h (включая Newdev.h) |
Библиотека | Newdev.lib |
DLL | Newdev.dll |