queryServiceConfig2A 函数 (winsvc.h)
检索指定服务的可选配置参数。
语法
BOOL QueryServiceConfig2A(
[in] SC_HANDLE hService,
[in] DWORD dwInfoLevel,
[out, optional] LPBYTE lpBuffer,
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded
);
参数
[in] hService
服务的句柄。 此句柄由 OpenService 或 CreateService 函数返回,必须具有 SERVICE_QUERY_CONFIG 访问权限。 有关详细信息,请参阅 服务安全和访问权限。
[in] dwInfoLevel
要查询的配置信息。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
lpInfo 参数是指向SERVICE_DELAYED_AUTO_START_INFO结构的指针。
Windows Server 2003 和 Windows XP: 不支持此值。 |
|
lpBuffer 参数是指向SERVICE_DESCRIPTION结构的指针。 |
|
lpBuffer 参数是指向SERVICE_FAILURE_ACTIONS结构的指针。 |
|
lpInfo 参数是指向 SERVICE_FAILURE_ACTIONS_FLAG 结构的指针。
Windows Server 2003 和 Windows XP: 不支持此值。 |
|
lpInfo 参数是指向SERVICE_PREFERRED_NODE_INFO结构的指针。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
lpInfo 参数是指向SERVICE_PRESHUTDOWN_INFO结构的指针。
Windows Server 2003 和 Windows XP: 不支持此值。 |
|
lpInfo 参数是指向SERVICE_REQUIRED_PRIVILEGES_INFO结构的指针。
Windows Server 2003 和 Windows XP: 不支持此值。 |
|
lpInfo 参数是指向SERVICE_SID_INFO结构的指针。
Windows Server 2003 和 Windows XP: 不支持此值。 |
|
lpInfo 参数是指向 SERVICE_TRIGGER_INFO 结构的指针。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此值。 |
|
lpInfo 参数是SERVICE_LAUNCH_PROTECTED_INFO结构的指针。
注意从 Windows 8.1 开始支持此值。
|
[out, optional] lpBuffer
指向接收服务配置信息的缓冲区的指针。 此数据的格式取决于 dwInfoLevel 参数的值。
此数组的最大大小为 8K 字节。 若要确定所需的大小,请为此参数指定 NULL ,为 cbBufSize 参数指定 0。 函数失败, GetLastError 返回 ERROR_INSUFFICIENT_BUFFER。 该参数将接收所需的大小。
[in] cbBufSize
lpBuffer 参数指向的结构的大小(以字节为单位)。
[out] pcbBytesNeeded
指向变量的指针,如果函数失败并出现 ERROR_INSUFFICIENT_BUFFER,该变量接收存储配置信息所需的字节数。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
服务控制管理器可以设置以下错误代码。 其他可由服务控制管理器调用的注册表函数设置。
返回代码 | 说明 |
---|---|
|
句柄没有 SERVICE_QUERY_CONFIG 访问权限。 |
|
服务配置信息比 lpBuffer 缓冲区中容纳的信息要多。 获取所有信息所需的字节数在 bytesNeeded 参数中返回。 不会向 lpBuffer 写入任何内容。 |
|
指定的句柄无效。 |
注解
QueryServiceConfig2 函数返回指定服务的服务控制管理器数据库中存储的可选配置信息。 可以使用 ChangeServiceConfig2 函数更改此配置信息。
可以分别使用 ChangeServiceConfig 和 QueryServiceConfig 函数更改和查询其他配置信息。
示例
有关示例,请参阅 查询服务的配置。
注意
winsvc.h 标头将 QueryServiceConfig2 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winsvc.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |
另请参阅
QueryServiceDynamicInformation
SERVICE_DELAYED_AUTO_START_INFO