com.sun.jna.platform.win32

## Class W32Service

- java.lang.Object
- - com.sun.jna.platform.win32.W32Service

All Implemented Interfaces:
  java.io.Closeable, java.lang.AutoCloseable

    public class W32Service
    extends java.lang.Object
    implements java.io.Closeable

Win32 Service wrapper

Author:
  EugineLev

### Field Summary

Fields
`(package private) Winsvc.SC_HANDLE` `_handle`

### Constructor Summary

Constructors
Constructor and Description
`W32Service(Winsvc.SC_HANDLE handle)` Win32 Service

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Close service.
`void` `continueService()` Continue service.
`Winsvc.ENUM_SERVICE_STATUS[]` `enumDependentServices(int dwServiceState)` Retrieves the name and status of each service that depends on the specified service; that is, the specified service must be running before the dependent services can run.
`Winsvc.SERVICE_FAILURE_ACTIONS` `getFailureActions()` Get the failure actions of the specified service.
`boolean` `getFailureActionsFlag()` Get the failure actions flag of the specified service.
`Winsvc.SC_HANDLE` `getHandle()` Gets the service handle.
`void` `pauseService()` Pause service.
`Winsvc.SERVICE_STATUS_PROCESS` `queryStatus()` Retrieves the current status of the specified service based on the specified information level.
`(package private) int` `sanitizeWaitTime(int dwWaitHint)` do not wait longer than the wait hint.
`void` `setFailureActions(java.util.List<Winsvc.SC_ACTION> actions, int resetPeriod, java.lang.String rebootMsg, java.lang.String command)` Set the failure actions of the specified service.
`void` `setFailureActionsFlag(boolean flagValue)` Set the failure action flag of the specified service.
`void` `startService()`
`void` `stopService()` Stop service.
`void` `stopService(long timeout)` Stop service.
`void` `waitForNonPendingState()` Wait for the state to change to something other than a pending state.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### _handle

    Winsvc.SC_HANDLE _handle

### Constructor Detail

#### W32Service

    public W32Service(Winsvc.SC_HANDLE handle)

Win32 Service

Parameters:
  `handle` - A handle to the service. This handle is returned by the CreateService or OpenService function, and it must have the SERVICE_QUERY_STATUS access right.

### Method Detail

#### close

    public void close()

Close service.

Specified by:
  `close` in interface `java.io.Closeable`
Specified by:
  `close` in interface `java.lang.AutoCloseable`

#### setFailureActions

    public void setFailureActions(java.util.List<Winsvc.SC_ACTION> actions,
                                  int resetPeriod,
                                  java.lang.String rebootMsg,
                                  java.lang.String command)

Set the failure actions of the specified service. Corresponds to ChangeServiceConfig2 with parameter dwInfoLevel set to SERVICE_CONFIG_FAILURE_ACTIONS.

#### getFailureActions

    public Winsvc.SERVICE_FAILURE_ACTIONS getFailureActions()

Get the failure actions of the specified service. Corresponds to QueryServiceConfig2 with parameter dwInfoLevel set to SERVICE_CONFIG_FAILURE_ACTIONS.

#### setFailureActionsFlag

    public void setFailureActionsFlag(boolean flagValue)

Set the failure action flag of the specified service. Corresponds to ChangeServiceConfig2 with parameter dwInfoLevel set to SERVICE_CONFIG_FAILURE_ACTIONS_FLAG.

#### getFailureActionsFlag

    public boolean getFailureActionsFlag()

Get the failure actions flag of the specified service. Corresponds to QueryServiceConfig2 with parameter dwInfoLevel set to SERVICE_CONFIG_FAILURE_ACTIONS_FLAG.

#### queryStatus

    public Winsvc.SERVICE_STATUS_PROCESS queryStatus()

Retrieves the current status of the specified service based on the specified information level.

Returns:
  Service status information

#### startService

    public void startService()

#### stopService

    public void stopService()

Stop service.

#### stopService

    public void stopService(long timeout)

Stop service.

Parameters:
  `timeout` - timeout in ms until the service must report to be stopped

#### continueService

    public void continueService()

Continue service.

#### pauseService

    public void pauseService()

Pause service.

#### sanitizeWaitTime

    int sanitizeWaitTime(int dwWaitHint)

do not wait longer than the wait hint. A good interval is one-tenth the wait hint, but no less than 1 second and no more than 10 seconds.

#### waitForNonPendingState

    public void waitForNonPendingState()

Wait for the state to change to something other than a pending state.

#### getHandle

    public Winsvc.SC_HANDLE getHandle()

Gets the service handle.

Returns:
  Returns the service handle.

#### enumDependentServices

    public Winsvc.ENUM_SERVICE_STATUS[] enumDependentServices(int dwServiceState)

Retrieves the name and status of each service that depends on the specified service; that is, the specified service must be running before the dependent services can run.

Parameters:
  `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`.

Returns:
  array of ENUM_SERVICE_STATUS structures that receives the name and service status information for each dependent service in the database.

Copyright © 2007-2018 Timothy Wall. All Rights Reserved.