SetupInstallServicesFromInfSectionExA 函数 (setupapi.h)

[此函数可用于“要求”部分所示的操作系统。 在后续版本中可能会更改或不可用。 不应再使用 SetupAPI 来安装应用程序。 请改用 Windows Installer 来开发应用程序安装程序。 SetupAPI 继续用于安装设备驱动程序。]

SetupInstallServicesFromInfSectionEx 函数执行在 INF 文件的 Service 节中列出的 Service Install 节中指定的服务安装和删除操作。

此函数的调用方必须有权访问 服务控制管理器,以及修改服务的特权。

语法

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

要处理的 服务 节的名称。 应使用以 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 部分:安装服务后启动服务。 此标志不能用于启动实现即插即用(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 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 setupapi.h
Setupapi.lib
DLL Setupapi.dll

另请参阅

Functions

概述

SetupInstallFilesFromInfSection

SetupInstallFromInfSection

SetupInstallServicesFromInfSection