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


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

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

Функция setupInstallServicesFromInfSectionEx выполняет операции установки и удаления служб, указанные в разделах Service Install, перечисленных в разделе Service INF-файла.

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

Синтаксис

WINSETUPAPI BOOL SetupInstallServicesFromInfSectionExA(
  [in] HINF             InfHandle,
  [in] PCSTR            SectionName,
  [in] DWORD            Flags,
  [in] HDEVINFO         DeviceInfoSet,
  [in] PSP_DEVINFO_DATA DeviceInfoData,
       PVOID            Reserved1,
       PVOID            Reserved2
);

Параметры

[in] InfHandle

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

[in] SectionName

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

[in] Flags

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

Флаг Значение
SPSVCINST_TAGTOFRONT
0x001
Переместите тег службы в передний список заказов группы.
SPSVCINST_ASSOCSERVICE
0x002
Раздел AddService. Помечайте эту службу как драйвер функции для установленного устройства.
SPSVCINST_DELETEEVENTLOGENTRY
0x004
Удалите запись журнала событий для указанной службы.
SPSVCINST_NOCLOBBER_DISPLAYNAME
0x008
Не перезаписывать отображаемое имя, если оно уже существует.
SPSVCINST_NOCLOBBER_STARTTYPE
0x010
Не перезаписывать значение типа запуска, если служба уже существует.
SPSVCINST_NOCLOBBER_ERRORCONTROL
0x020
Не перезаписывать значение элемента управления ошибками, если служба уже существует.
SPSVCINST_NOCLOBBER_LOADORDERGROUP
0x040
Не перезаписывать группу заказов загрузки, если она уже существует.
SPSVCINST_NOCLOBBER_DEPENDENCIES
0x080
Не перезаписывать список зависимостей, если он уже существует.
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.
 

[in] DeviceInfoSet

Необязательный указатель на дескриптор набора сведений об устройстве. Дополнительные сведения см. вруководстве программиста DDK. (Этот ресурс может быть недоступен на некоторых языках

и страны.)

[in] DeviceInfoData

Необязательный указатель на структуру SP_DEVINFO_DATA, которая предоставляет контекст для определенного элемента в наборе, который указывает DeviceInfoSet. Дополнительные сведения см. вруководстве программиста DDK. (Этот ресурс может быть недоступен на некоторых языках

и страны.)

Reserved1

Скрытный.

Reserved2

Скрытный.

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

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

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

Замечания

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка setupapi.h
библиотеки Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupInstallFilesFromInfSection

SetupInstallFromInfSection

SetupInstallServicesFromInfSection