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