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


Функции, упрощающие установку драйверов

Приложение установки может использовать следующие функции, чтобы упростить установку пакета драйверов 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 , чтобы сделать следующее:

  • Принудительная установка указанного пакета драйверов независимо от того, соответствует ли пакет драйвера устройству лучше, чем пакет драйверов, установленный на устройстве в данный момент.

    Осторожностью Принудительная установка пакета драйверов может привести к замене более совместимого или более нового пакета драйверов на менее совместимый или более старый пакет драйверов.

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

  • Подавлять отображение компонентов пользовательского интерфейса.

  • Укажите вызывающей стороны, требуется ли перезагрузка системы для завершения установки.