public class W32ServiceManager
extends java.lang.Object
implements java.io.Closeable
Modifier and Type | Field and Description |
---|---|
(package private) java.lang.String |
_databaseName |
(package private) Winsvc.SC_HANDLE |
_handle |
(package private) java.lang.String |
_machineName |
Constructor and Description |
---|
W32ServiceManager()
Instantiate a W32ServiceManager for the local computer and the
SERVICES_ACTIVE_DATABASE ("ServicesActive") database.
|
W32ServiceManager(int permissions)
Instantiate a W32ServiceManager for the local computer and the
SERVICES_ACTIVE_DATABASE ("ServicesActive") database.
|
W32ServiceManager(java.lang.String machineName,
java.lang.String databaseName)
Instantiate a W32ServiceManager.
|
W32ServiceManager(java.lang.String machineName,
java.lang.String databaseName,
int permissions)
Instantiate a W32ServiceManager.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the previously opened Service Manager.
|
Winsvc.ENUM_SERVICE_STATUS_PROCESS[] |
enumServicesStatusExProcess(int dwServiceType,
int dwServiceState,
java.lang.String groupName)
Enumerates services in the specified service control manager database.
|
Winsvc.SC_HANDLE |
getHandle()
Gets the service manager handle.
|
void |
open(int permissions)
(Re-)Opens the Service Manager with the supplied permissions.
|
W32Service |
openService(java.lang.String serviceName,
int permissions)
Opens a Service.
|
Winsvc.SC_HANDLE _handle
java.lang.String _machineName
java.lang.String _databaseName
public W32ServiceManager()
The connection is not established until open(int)
is called.
public W32ServiceManager(int permissions)
A connection is opened directly with the requested permissions.
permissions
- requested permissions for accesspublic W32ServiceManager(java.lang.String machineName, java.lang.String databaseName)
machineName
- The name of the target computer. If the pointer is
NULL or points to an empty string, the function
connects to the service control manager on the local
computer.databaseName
- The name of the service control manager database.
This parameter should be set to "ServicesActive". If
it is NULL, the "ServicesActive"
(SERVICES_ACTIVE_DATABASE) database is opened by
default.
The connection is not established until open(int)
is called.
public W32ServiceManager(java.lang.String machineName, java.lang.String databaseName, int permissions)
A connection is opened directly with the requested permissions.
machineName
- The name of the target computer. If the pointer is
NULL or points to an empty string, the function
connects to the service control manager on the local
computer.databaseName
- The name of the service control manager database.
This parameter should be set to "ServicesActive". If
it is NULL, the "ServicesActive"
(SERVICES_ACTIVE_DATABASE) database is opened by
default.permissions
- requested permissions for accesspublic void open(int permissions)
permissions
- Permissions.public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public W32Service openService(java.lang.String serviceName, int permissions)
serviceName
- Service name.permissions
- Permissions.public Winsvc.SC_HANDLE getHandle()
public Winsvc.ENUM_SERVICE_STATUS_PROCESS[] enumServicesStatusExProcess(int dwServiceType, int dwServiceState, java.lang.String groupName)
dwServiceType
- The type of services to be enumerated. This
parameter can be one or more of the following
values.
Value | Meaning |
---|---|
WinNT.SERVICE_DRIVER | Services of type
WinNT.SERVICE_KERNEL_DRIVER and
WinNT.SERVICE_FILE_SYSTEM_DRIVER . |
WinNT.SERVICE_FILE_SYSTEM_DRIVER | File system driver services. |
WinNT.SERVICE_KERNEL_DRIVER | Driver services. |
WinNT.SERVICE_WIN32 | Services of type
WinNT.SERVICE_WIN32_OWN_PROCESS and
WinNT.SERVICE_WIN32_SHARE_PROCESS . |
WinNT.SERVICE_WIN32_OWN_PROCESS | Services that run in their own processes. |
WinNT.SERVICE_WIN32_SHARE_PROCESS | Services that share a process with one or more other services. For more information, see Service Programs. |
dwServiceState
- The state of the services to be enumerated. This
parameter can be one of the following values.
Value | Meaning |
---|---|
Winsvc.SERVICE_ACTIVE | Enumerates services that
are in the following states:
Winsvc.SERVICE_START_PENDING , Winsvc.SERVICE_STOP_PENDING , Winsvc.SERVICE_RUNNING , Winsvc.SERVICE_CONTINUE_PENDING , Winsvc.SERVICE_PAUSE_PENDING ,
and Winsvc.SERVICE_PAUSED . |
Winsvc.SERVICE_INACTIVE | Enumerates services that
are in the Winsvc.SERVICE_STOPPED state. |
Winsvc.SERVICE_STATE_ALL | Combines the following
states: Winsvc.SERVICE_ACTIVE and
Winsvc.SERVICE_INACTIVE . |
groupName
- The load-order group name. If this parameter is a
string, the only services enumerated are those that
belong to the group that has the name specified by
the string. If this parameter is an empty string,
only services that do not belong to any group are
enumerated. If this parameter is NULL, group
membership is ignored and all services are
enumerated.