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


Функция SetupInstallServicesFromInfSectionW (setupapi.h)

[Эта функция доступна для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]

Функция SetupInstallServicesFromInfSection выполняет операции установки и удаления служб, указанные в разделах установки службы , перечисленных в разделе службы .

Вызывающий объект этой функции должен иметь доступ к диспетчеру управления службамии привилегиям для изменения служб.

Синтаксис

WINSETUPAPI BOOL SetupInstallServicesFromInfSectionW(
  [in] HINF   InfHandle,
  [in] PCWSTR SectionName,
  [in] DWORD  Flags
);

Параметры

[in] InfHandle

Дескриптор INF-файла, содержащего раздел службы .

[in] SectionName

Имя раздела Service для обработки. Следует использовать строку, завершаемую значением NULL.

[in] Flags

Элементы управления для установки каждой службы в указанном разделе.

Флаг Значение
SPSVCINST_TAGTOFRONT
0x001
Раздел AddService: переместите тег службы в передний список заказов группы.
SPSVCINST_DELETEEVENTLOGENTRY
0x004
Раздел DelService: удаление записи журнала событий.
SPSVCINST_NOCLOBBER_DISPLAYNAME
0x008
Раздел AddService: не перезаписывать отображаемое имя, если оно уже существует.
SPSVCINST_NOCLOBBER_STARTTYPE
0x010
Раздел AddService: не перезаписывать значение начального типа, если служба уже существует.
SPSVCINST_NOCLOBBER_ERRORCONTROL
0x020
Раздел AddService: не перезаписывать значение элемента управления ошибками, если служба уже существует.
SPSVCINST_NOCLOBBER_LOADORDERGROUP
0x040
Раздел AddService: не перезаписывает группу заказов загрузки, если она уже существует.
SPSVCINST_NOCLOBBER_DEPENDENCIES
0x080
Раздел AddService: не перезаписывает список зависимостей, если он уже существует.
SPSVCINST_NOCLOBBER_DESCRIPTION
0x100
Раздел AddService: помечайте эту службу как драйвер функции для установленного устройства.
SPSVCINST_STOPSERVICE
0x200
Раздел DelService: перед удалением службы остановите связанную службу, указанную в записи.
SPSVCINST_CLOBBER_SECURITY
0x400
Раздел AddService: параметры безопасности службы перезаписываются, если служба уже существует в системе.
примечание доступно начиная с Windows Server 2003 и Windows XP.
 
SPSVCINST_STARTSERVICE
0x800
Раздел AddService: запустите службу после установки службы. Этот флаг нельзя использовать для запуска службы, реализующей драйвер функции Plug and Play (PnP) или драйвер фильтра для устройства. В противном случае этот флаг можно использовать для запуска службы пользовательского режима или режима ядра, управляемой диспетчером управления службами (SCM).)
примечание доступно начиная с Windows Server 2008 и Windows Vista.
 
SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES
0x1000
Раздел AddService. Не перезаписывать необходимые привилегии данной службы, если служба уже существует в системе.
примечание доступно начиная с Windows Server 2008 R2 и Windows 7.
 

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

Если функция выполнена успешно, возвращаемое значение ненулевое. Функция вызывает SetLastError с ERROR_SUCCESS_REBOOT_REQUIRED, если требуется перезагрузка системы.

Если функция завершается ошибкой, возвращаемое значение равно 0 (ноль). Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

Заметка

Заголовок setupapi.h определяет SetupInstallServicesFromInfSection в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

SetupInstallServicesFromInfSection будет записывать диагностические сведения втекстовый журнал установки приложения SetupAPI. Этот файл журнала обычно отключен по умолчанию. Его можно включить, изменив уровни ведения журнала общие часть значения setupAPI LogLevel, как описано в разделе Настройка уровней ведения журнала SetupAPI. По соображениям производительности этот файл журнала следует включить только при устранении неполадок. Если файл журнала включен, его можно найти в %windir%\inf\setupapi.app.log.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка setupapi.h
библиотеки Setupapi.lib
DLL Setupapi.dll
набор API ext-ms-win-setupapi-classinstallers-l1-1-2 (представлено в Windows 10 версии 10.0.14393)

См. также

Функции

Обзор

SetupInstallFilesFromInfSection

SetupInstallFromInfSection

SetupInstallServicesFromInfSectionEx