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
    Modifier and Type | Field and Description
    --- | ---
    `(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
    Modifier and Type | Method and Description
    --- | ---
    `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.