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


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

[Относится только к KMDF]

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

Синтаксис

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

Параметры

[in] InfPath

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

[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 см. в документации по Microsoft Windows SDK.

Примеры

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

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,9
Верхняя часть wdfinstaller.h (включая Wdfinstaller.h)
Библиотека Н/Д (экспортируется библиотекой совместного установщика KMDF. Сведения об имени файла библиотеки совместного установщика см. в разделе Использование совместного установщика KMDF.)

См. также раздел

WdfPostDeviceInstall

WdfPreDeviceInstall