ChangeServiceConfig2
The ChangeServiceConfig2 function changes the optional configuration parameters of a service.
BOOL ChangeServiceConfig2( SC_HANDLE hService, DWORD dwInfoLevel, LPVOID lpInfo );
Parameters
-
hService
-
[in] 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 one of the specified service controller actions is SC_ACTION_RESTART, hService must have the SERVICE_START access right.
dwInfoLevel
-
[in] Configuration information to be changed. This parameter can be one of the following values.
Value Meaning SERVICE_CONFIG_DESCRIPTION
1The lpInfo parameter is a pointer to a SERVICE_DESCRIPTION structure. SERVICE_CONFIG_FAILURE_ACTIONS
2The lpInfo parameter is a pointer to a SERVICE_FAILURE_ACTIONS structure. If you specify SC_ACTION_REBOOT, the caller must have the SE_SHUTDOWN_NAME privilege. For more information, see Running with Special Privileges.
lpInfo
- [in] 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 Values
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.
Example Code
For an example, see Changing a Service Configuration.
Requirements
Client | Requires Windows XP or Windows 2000 Professional. |
---|---|
Server | Requires Windows Server 2003 or Windows 2000 Server. |
Header | Declared in Winsvc.h; include Windows.h. |
Library | Link to Advapi32.lib. |
DLL | Requires Advapi32.dll. |
Unicode | Implemented as ChangeServiceConfig2W (Unicode) and ChangeServiceConfig2A (ANSI). |