ChangeServiceConfig2 function
ChangeServiceConfig2 function
Changes the optional configuration parameters of a service.
Syntax
BOOL WINAPI ChangeServiceConfig2(
_In_ SC_HANDLE hService,
_In_ DWORD dwInfoLevel,
_In_opt_ LPVOID lpInfo
);
Parameters
- hService [in]
-
A handle to the service. This handle is returned by the OpenService or CreateService function and must have the SERVICE_CHANGE_CONFIG access right. For more information, see Service Security and Access Rights.
If the service controller handles the SC_ACTION_RESTART action, hService must have the SERVICE_START access right.
- dwInfoLevel [in]
-
The configuration information to be changed. This parameter can be one of the following values.
Value Meaning - SERVICE_CONFIG_DELAYED_AUTO_START_INFO
- 3
The lpInfo parameter is a pointer to a SERVICE_DELAYED_AUTO_START_INFO structure.
Windows Server 2003 and Windows XP: This value is not supported.
- SERVICE_CONFIG_DESCRIPTION
- 1
The lpInfo parameter is a pointer to a SERVICE_DESCRIPTION structure.
- SERVICE_CONFIG_FAILURE_ACTIONS
- 2
The lpInfo parameter is a pointer to a SERVICE_FAILURE_ACTIONS structure.
If the service controller handles the SC_ACTION_REBOOT action, the caller must have the SE_SHUTDOWN_NAMEprivilege. For more information, see Running with Special Privileges.
- SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
- 4
The lpInfo parameter is a pointer to a SERVICE_FAILURE_ACTIONS_FLAG structure.
Windows Server 2003 and Windows XP: This value is not supported.
- SERVICE_CONFIG_PREFERRED_NODE
- 9
The lpInfo parameter is a pointer to a SERVICE_PREFERRED_NODE_INFO structure.
Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported.
- SERVICE_CONFIG_PRESHUTDOWN_INFO
- 7
The lpInfo parameter is a pointer to a SERVICE_PRESHUTDOWN_INFO structure.
Windows Server 2003 and Windows XP: This value is not supported.
- SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
- 6
The lpInfo parameter is a pointer to a SERVICE_REQUIRED_PRIVILEGES_INFO structure.
Windows Server 2003 and Windows XP: This value is not supported.
- SERVICE_CONFIG_SERVICE_SID_INFO
- 5
The lpInfo parameter is a pointer to a SERVICE_SID_INFO structure.
- SERVICE_CONFIG_TRIGGER_INFO
- 8
The lpInfo parameter is a pointer to a SERVICE_TRIGGER_INFO structure. This value is not supported by the ANSI version of ChangeServiceConfig2.
Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported until Windows Server 2008 R2.
- SERVICE_CONFIG_LAUNCH_PROTECTED
- 12
The lpInfo parameter is a pointer a SERVICE_LAUNCH_PROTECTED_INFO structure.
Note This value is supported starting with Windows 8.1. - lpInfo [in, optional]
-
A pointer to the new value to be set for the configuration information. The format of this data depends on the value of the dwInfoLevel parameter. If this value is NULL, the information remains unchanged.
Return value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
The ChangeServiceConfig2 function changes the optional configuration information for the specified service in the service control manager database. You can obtain the current optional configuration information by using the QueryServiceConfig2 function.
You cannot set the SERVICE_CONFIG_FAILURE_ACTIONS value for a service that shares the service control manager's process. This includes all services whose executable image is "Services.exe".
You can change and query additional configuration information using the ChangeServiceConfig and QueryServiceConfig functions, respectively.
If a service is configured to restart after it finishes with an error, the service control manager queues the restart action to occur after the specified time delay. A queued restart action cannot be canceled. If the service is manually restarted and then stopped before the queued restart action occurs, the service will restart unexpectedly when the time delay elapses. The service must be explicitly disabled to prevent it from restarting.
The SERVICE_CONFIG_LAUNCH_PROTECTED value can be used to launch the service as protected. In order to launch the service as protected, the service must be signed with a special certificate.
SERVICE_CONFIG_LAUNCH_PROTECTED example:
SERVICE_LAUNCH_PROTECTED_INFO Info;
SC_HANDLE hService; Info.dwLaunchProtected = SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT; hService = CreateService (...); if (ChangeServiceConfig2(hService,
SERVICE_CONFIG_LAUNCH_PROTECTED,
&Info) == FALSE)
{
Result = GetLastError();
}
Examples
For an example, see Changing a Service's Configuration.
Requirements
|
Minimum supported client |
Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names |
ChangeServiceConfig2W (Unicode) and ChangeServiceConfig2A (ANSI) |
See also
- ChangeServiceConfig
- CreateService
- OpenService
- QueryServiceConfig
- QueryServiceConfig2
- QueryServiceDynamicInformation
- Service Configuration
- Service Functions
- SERVICE_DELAYED_AUTO_START_INFO
- SERVICE_DESCRIPTION
- SERVICE_FAILURE_ACTIONS
- SERVICE_FAILURE_ACTIONS_FLAG
- SERVICE_PRESHUTDOWN_INFO
- SERVICE_REQUIRED_PRIVILEGES_INFO
- SERVICE_SID_INFO
ChangeServiceConfig2 function的更多相关文章
- Command Line-Version (SetACL.exe) – Syntax and Description
For a quick start, tell SetACL the following: Object name (-on): This is the path to the object SetA ...
- Delphi 不使用自带模板创建服务
program Project1; uses Windows, WinSvc; const ServiceName: pchar = 'SnowWings Service'; DisplayName: ...
- 【T1543.003】利用 ACL 隐藏恶意 Windows 服务
看到一篇文章讲述了通过设置 DACL 隐藏 Windows 服务信息,便做一下总结. 技术原理 系统中每个 Service 在 Windows 中属于都一种对象(Object),用户在访问对象时的权限 ...
- 通过百度echarts实现数据图表展示功能
现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...
- jsp中出现onclick函数提示Cannot return from outside a function or method
在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...
- JavaScript function函数种类
本篇主要介绍普通函数.匿名函数.闭包函数 目录 1. 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 2. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. ...
- 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()
1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...
- jquery中的$(document).ready(function() {});
当文档载入时执行function函数里的代码, 这部分代码主要声明,页面加载后 "监听事件" 的方法.例如: $(document).ready( $("a") ...
- Function.prototype.toString 的使用技巧
Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...
随机推荐
- [置顶] VB 中chr(10)、chr(13)和vblf、vbcr、vbcrlf的分别
1.共同点: chr(10):换行,相当于VBLF chr(13):回车,相当于VBCR chr(13)+chr(10):回车+换行,相当于VBCRLF cr是回车,只有回车,是到本行的最头上:lf是 ...
- url参数中有+、空格、=、%、&、#等特殊符号的处理
url参数中有+.空格.=.%.&.#等特殊符号的问题解决? 解决办法: 将这些字符转化成服务器可以识别的字符,对应关系如下: URL字符转义 + URL 中+号表示空格 %2B 空格 URL ...
- Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码--转载
在本系列的最后三篇文章中,我展示了如何用 Javassist 框架操作类.这次我将用一种很不同的方法操纵字节码——使用 Apache Byte Code Engineering Library (BC ...
- 《UNIX网络编程》之read_timeout实验
最近在做项目,需要做一个服务器和客户端的基于TCP的套接口网络编程,由于服务器端返回数据并不是那么的及时,因此,需要在客户端做些延迟,然后才能去读取数据,实验测试结果如下. 首先,我们先来看一下我们封 ...
- Android -- Messager与Service
如果你需要你的service和其他进程通信,那么你可以使用一个Messenger来提供这个接口. 这种方法允许你在不使用 AIDL的情况下,进行跨进程通信IPC. 实现步骤 下面是一个如何使用 Mes ...
- 使用rpm安装mysql的默认目录
--使用rpm安装mysql的默认目录:1.数据库目录/var/lib/mysql/2.配置文件/usr/share/mysql(mysql.server命令及配置文件)3.相关命令/usr/bin( ...
- 在C#中internal关键字是什么意思?和protected internal区别
我来补充一下,对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法.比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能, ...
- SQL Server 分组后取Top N
SQL Server 分组后取Top N(转) 近日,工作中突遇一需求:将一数据表分组,而后取出每组内按一定规则排列的前N条数据.乍想来,这本是寻常查询,无甚难处.可提笔写来,终究是困住了笔者好一会儿 ...
- oracle登陆连接的问题
一.登陆 1.使用客户端 直接在database中配置: IP:1521/orcl 其中IP为要连接的IP 其中1521为要连接的数据库的端口 其中orcl为要连接的数据库的实例名字 2.使用命令行 ...
- 【转】深入理解Java内存模型(三)——顺序一致性
数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...