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


Функция WdfPreDeviceInstallEx (wdfinstaller.h)

[Применимо только к KMDF]

Функция совместного установщика WdfPreDeviceInstallEx выполняет любые операции, которые может потребоваться для совместного установщика, прежде чем установщик драйвера без подключаемых модулей (PnP) создает службу режима ядра драйвера.

Синтаксис

ULONG WdfPreDeviceInstallEx(
  [in]           LPCWSTR                          InfPath,
  [in, optional] LPCWSTR                          InfSectionName,
  [in]           PWDF_COINSTALLER_INSTALL_OPTIONS ClientOptions
);

Параметры

[in] InfPath

Указатель на строку, завершающуюся значением NULL, которая содержит путь к INF-файлу драйвера. Установщик драйвера может получить эту строку, вызвав GetCurrentDirectory, которая описана в пакете SDK для Microsoft Windows.

[in, optional] InfSectionName

Указатель на строку, завершающуюся значением NULL, которая содержит имя Wdf-install-section в INF-файле драйвера. Дополнительные сведения об этом имени см. в разделе Использование совместного установщика KMDF. Если этот указатель NULL, для имени совместного установщика используется WdfSection.

[in] ClientOptions

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

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

WdfPreDeviceInstallEx возвращает ERROR_SUCCESS, если операция завершится успешно. В противном случае функция возвращает одно из дополнительных значений ERROR_XXX, определенных в Winerror.h.

Замечания

Установщик для драйверов на основе платформы устройства, отличного от PnP, должен вызывать WdfPreDeviceInstall или WdfPreDeviceInstallEx перед вызовами установщика CreateService.

Чтобы получить адрес функции WdfPreDeviceInstallEx совместного установщика, установщик должен вызвать GetProcAddress после вызова установщика LoadLibrary для загрузки совместного установщика.

Если установщик определяет, что компьютер должен быть перезапущен для завершения установки драйвера (как правило, из-за того, что установлена более ранняя версия платформы), функция WdfPreDeviceInstallEx позволяет контролировать, когда или когда пользователю будет предложено перезагрузить компьютер, как показано ниже.

  • Если установщик задает элемент ShowRebootPrompt структуры WDF_COINSTALLER_INSTALL_OPTIONS значение TRUE, WdfPreDeviceInstallEx сообщает диспетчеру PnP, что компьютер должен быть перезапущен, а диспетчер PnP предложит пользователю выполнить перезагрузку. Задание элемента ShowRebootPrompt значение TRUE эквивалентно вызову WdfPreDeviceInstall.
  • Если установщик задает ShowRebootPrompt член структуры WDF_COINSTALLER_INSTALL_OPTIONSзначение false, WdfPreDeviceInstallEx не сообщает диспетчеру PnP о необходимости перезапуска. Вместо этого функция возвращает ERROR_SUCCESS_REBOOT_REQUIRED. Установщик может определить, когда или как перезапустить компьютер,
Дополнительные сведения о функции и установщиках WdfPreDeviceInstallEx для драйверов на основе платформы устройств, отличных от PnP, см. в установкедрайвера, отличного от PnP. Дополнительные сведения о CreateService, GetProcAddressи LoadLibraryсм. в документации по пакету SDK для Microsoft Windows.

Примеры

Пример кода, использующий функцию WdfPreDeviceInstallEx , см. в установщике примера NONPNP.

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.9
Заголовок wdfinstaller.h (include Wdfinstaller.h)
Библиотека N/A (экспортируется библиотекой совместного установщика KMDF. Дополнительные сведения о имени файла библиотеки совместного установщика см. в разделе "Использование совместного установщика KMDF".)

См. также

WdfPostDeviceInstall

WdfPreDeviceInstall