Функции, упрощающие установку драйверов
Приложение установки может использовать следующие функции, чтобы упростить установку пакета драйверов PnP.
DiInstallDevice (Windows Vista и более поздние версии Windows)
Функция DiInstallDevice устанавливает определенный пакет драйверов, предварительно установленный в хранилище драйверов на определенном устройстве, присутствующее в системе.
Приложение установки должно использовать эту функцию только в том случае, если выполняются оба следующих условия:
Приложение включает несколько экземпляров устройств одного типа, то есть все экземпляры устройств имеют одинаковые идентификаторы оборудования и совместимые идентификаторы.
Приложению требуется, чтобы на экземплярах устройства устанавливались пакеты драйверов для конкретного экземпляра устройства.
В противном случае приложение установки должно использовать DiInstallDriver или UpdateDriverForPlugAndPlayDevices для установки пакета драйверов, который лучше всего подходит для устройства.
Вызывающий объект также может вызвать DiInstallDevice для выполнения следующих действий:
Найдите предустановленный пакет драйверов, который лучше всего подходит для устройства.
Установите драйвер null на определенном устройстве.
Уведомите вызывающего абонента о необходимости перезагрузки системы для завершения установки.
DiInstallDriver (Windows Vista и более поздние версии Windows)
Функция DiInstallDriver предварительно устанавливает пакет драйверов в хранилище драйверов , а затем устанавливает пакет драйвера на всех устройствах в системе с идентификатором оборудования или совместимым идентификатором, соответствующим пакету драйверов.
Вызов DiInstallDriver или UpdateDriverForPlugAndPlayDevices — самый простой способ установки приложения для установки нового пакета драйверов для устройства. DiInstallDriver и UpdateDriverForPlugAndPlayDevices выполняют одни и те же основные операции установки. Однако UpdateDriverForPlugAndPlayDevices поддерживает дополнительные параметры установки.
По умолчанию DiInstallDriver устанавливает пакет драйвера на устройстве только в том случае, если пакет драйвера лучше соответствует устройству, чем пакет драйверов, установленный на устройстве в данный момент. Сведения о том, как Windows выбирает пакет драйверов для устройства, см. в разделе Выбор драйверов в Windows.
Вызывающий объект также может вызвать DiInstallDriver , чтобы сделать следующее:
Принудительная установка указанного пакета драйверов независимо от того, соответствует ли пакет драйвера устройству лучше, чем пакет драйверов, установленный на устройстве в данный момент.
Осторожностью Принудительная установка пакета драйверов может привести к замене более совместимого или более нового пакета драйверов на менее совместимый или более старый пакет драйверов.
Укажите вызывающей стороны, требуется ли перезагрузка системы для завершения установки.
DiRollbackDriver (Windows Vista и более поздние версии Windows)
Функция DiRollbackDriver заменяет пакет драйверов, установленный в настоящее время на устройстве, ранее установленным пакетом драйверов резервной копии, установленным для устройства. Эта функция предоставляется в основном для восстановления устройства до рабочего состояния, если устройство завершается сбоем после обновления пакета драйверов для устройства. Эта функция выполняет ту же операцию, что и при нажатии пользователем кнопки Откат драйвера на странице Драйвер для устройства в диспетчер устройств.
Windows поддерживает не более одного пакета драйверов резервного копирования для устройства. Windows устанавливает пакет драйверов в качестве драйвера резервного копирования для устройства сразу после успешной установки пакета драйверов на устройстве, и Windows определяет, что устройство работает правильно. Однако если пакет драйверов не был успешно установлен на устройстве или устройство не работает правильно после установки, Windows не устанавливает пакет драйвера в качестве драйвера резервного копирования для устройства.
Вызывающий объект также может вызвать DiRollbackDriver для выполнения следующих действий:
Подавлять отображение любого компонента пользовательского интерфейса, связанного с откатом драйвера.
Укажите вызывающей стороны, требуется ли перезагрузка системы для завершения установки.
Дополнительные сведения о откате пакетов драйверов см. в разделе Сведения о диспетчер устройств в центре справки и поддержки.
UpdateDriverForPlugAndPlayDevices
Функция UpdateDriverForPlugAndPlayDevices устанавливает пакет драйвера на всех присутствующих в системе устройствах с идентификатором оборудования или совместимым идентификатором, соответствующим пакету драйверов.
Вызов этой функции или DiInstallDriver — самый простой способ установки приложения для установки нового пакета драйверов, который лучше всего подходит для устройств в системе. Основная операция UpdateDriverForPlugAndPlayDevices аналогична операции DiInstallDriver. Однако UpdateDriverForPlugAndPlayDevices поддерживает дополнительные параметры установки.
По умолчанию UpdateDriverForPlugAndPlayDevices устанавливает пакет драйвера на устройстве только в том случае, если пакет драйвера лучше соответствует устройству, чем пакет драйверов, установленный на устройстве.
Вызывающий объект также может при необходимости вызвать UpdateDriverForPlugAndPlayDevices , чтобы сделать следующее:
Принудительная установка указанного пакета драйверов независимо от того, соответствует ли пакет драйвера устройству лучше, чем пакет драйверов, установленный на устройстве в данный момент.
Осторожностью Принудительная установка пакета драйверов может привести к замене более совместимого или более нового пакета драйверов на менее совместимый или более старый пакет драйверов.
Подавлять копирование, переименование или удаление файлов установки.
Подавлять отображение компонентов пользовательского интерфейса.
Укажите вызывающей стороны, требуется ли перезагрузка системы для завершения установки.