Opens an existing service.
Syntax
SC_HANDLE WINAPI OpenService(
__in SC_HANDLE hSCManager,
__in LPCTSTR lpServiceName,
__in DWORD dwDesiredAccess
);
Parameters
- hSCManager [in]
-
A handle to the service control manager database. The
OpenSCManager function returns this handle.
- lpServiceName [in]
-
The name of the service to be opened. The maximum string length is 256 characters. The service control manager database preserves the case of the characters, but service name comparisons are always case insensitive. Forward-slash (/) and backslash (\) are invalid service name characters.
- dwDesiredAccess [in]
-
The access to the service. For a list of access rights, see
Service Security and Access Rights.
Before granting the requested access, the system checks the access token of the calling process against the discretionary access-control list of the security descriptor associated with the service object.
Return Value
If the function succeeds, the return value is a handle to the service.
If the function fails, the return value is NULL. To get extended error information, call
GetLastError.
The following error codes can be set by the service control manager. Others can be set by the registry functions that are called by the service control manager.
| Return code | Description |
- ERROR_ACCESS_DENIED
| The handle does not have access to the service.
|
- ERROR_INVALID_HANDLE
| The specified handle is invalid.
|
- ERROR_INVALID_NAME
| The specified service name is invalid.
|
- ERROR_SERVICE_DOES_NOT_EXIST
| The specified service does not exist.
|
Remarks
The returned handle is only valid for the process that called
OpenService. It can be closed by calling the
CloseServiceHandle function.
Examples
For an example, see
Starting a Service.
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| Header | Winsvc.h (include Windows.h) |
| Library | Advapi32.lib |
| DLL | Advapi32.dll |
| Unicode and ANSI names | OpenServiceW (Unicode) and OpenServiceA (ANSI) |
See Also
- ChangeServiceConfig
- CloseServiceHandle
- ControlService
- CreateService
- DeleteService
- EnumDependentServices
- OpenSCManager
- QueryServiceConfig
- QueryServiceObjectSecurity
- QueryServiceStatusEx
- SCM Handles
- Service Functions
- SetServiceObjectSecurity
- StartService
Send comments about this topic to Microsoft
Build date: 11/19/2009