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


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

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

Функция SetupInstallServicesFromInfSectionEx выполняет операции установки и удаления службы, указанные в разделах Установка службы , перечисленных в разделе 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-файла, содержащего раздел Service .

[in] SectionName

Имя обрабатываемого раздела службы . Следует использовать строку со значением NULL.

[in] Flags

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

Flag Значение
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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header setupapi.h
Библиотека Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupInstallFilesFromInfSection

SetupInstallFromInfSection

SetupInstallServicesFromInfSection