Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

Search Results for "SERVICE_STATUS" in [All]

Structures

.
Summary
The ENUM_SERVICE_STATUS structure is used by the EnumDependentServices and EnumServicesStatus functions to return the name of a service in a service control manager database and to return information about that service.
.

public struct ENUM_SERVICE_STATUS

.

     public SERVICE_STATUS ServiceStatus;

.

Structure ENUM_SERVICE_STATUS

.
Documentation
[ENUM_SERVICE_STATUS] on MSDN
.
Summary
The SERVICE_STATUS structure contains information about a service. The ControlService, EnumDependentServices, EnumServicesStatus, and QueryServiceStatus functions use this structure to return information about a service. A service uses this structure in the SetServiceStatus function to report its current status to the service control manager.
.

public struct SERVICE_STATUS

.

    private struct SERVICE_STATUS

.
See
.

Private Structure SERVICE_STATUS

.
Documentation
[SERVICE_STATUS] on MSDN
.

   private static extern bool SetServiceStatus(IntPtr hServiceStatus, ref SERVICE_STATUS lpServiceStatus);

.

    ByRef lpServiceStatus As SERVICE_STATUS)

.

   public struct SERVICE_STATUS {

advapi32

.

public static extern bool    ControlService(IntPtr hService, SERVICE_CONTROL dwControl, ref SERVICE_STATUS lpServiceStatus);

.

Public Function ControlService(ByVal hService As IntPtr, ByVal dwControl As SERVICE_CONTROL, ByRef lpServiceStatus As SERVICE_STATUS) As Boolean

.

Declare Function ControlService Lib "advapi32.dll" (ByVal hService As Long, ByVal lControlCode As Long, ByVal lpServiceStatus As SERVICE_STATUS) As Boolean

.

See SERVICE_STATUS definition

.

See SERVICE_STATUS definition

.

SERVICE_STATUS stat = new SERVICE_STATUS();

.

         SERVICE_STATUS serviceStatus;

.

         serviceStatus = new SERVICE_STATUS ();

.

     private SERVICE_STATUS DoQueryServiceStatus ()

.

         SERVICE_STATUS serviceStatus = new SERVICE_STATUS();

.

                 SERVICE_STATUS serviceStatus = new SERVICE_STATUS ();

.

         SERVICE_STATUS serviceStatus = new SERVICE_STATUS();

.

         ref SERVICE_STATUS lpServiceStatus);

.

     internal static extern bool QueryServiceStatus (IntPtr hService, ref SERVICE_STATUS dwServiceStatus);

.

     internal static extern bool SetServiceStatus (IntPtr hServiceStatus, ref SERVICE_STATUS lpServiceStatus);

.

                       ref ENUM_SERVICE_STATUS lpServices,

.

SERVICE_STATES, SERVICE_TYPES, ENUM_SERVICE_STATUS, OpenSCManager, EnumServicesStatus, and OpenService

.

         ENUM_SERVICE_STATUS serviceStatus;

.

         serviceStatus = (ENUM_SERVICE_STATUS) Marshal.PtrToStructure( new IntPtr(iPtr), typeof(ENUM_SERVICE_STATUS) );

.

                 ENUM_SERVICE_STATUS depService;

.

                 depService = (ENUM_SERVICE_STATUS) Marshal.PtrToStructure( new IntPtr(iDepPtr), typeof(ENUM_SERVICE_STATUS) );

.

                 iDepPtr += ENUM_SERVICE_STATUS.SizeOf;

.

         iPtr += ENUM_SERVICE_STATUS.SizeOf;

.

      internal static ENUM_SERVICE_STATUS_PROCESS[] GetServices()

.

     List<ENUM_SERVICE_STATUS_PROCESS> result = new List<ENUM_SERVICE_STATUS_PROCESS>();

.

           ENUM_SERVICE_STATUS_PROCESS infoLevel = new ENUM_SERVICE_STATUS_PROCESS();

.

          ENUM_SERVICE_STATUS_PROCESS serviceStatus;

.

            serviceStatus = (ENUM_SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(new IntPtr(pointer),

.

               typeof(ENUM_SERVICE_STATUS_PROCESS));

.

            // incremement by sizeof(ENUM_SERVICE_STATUS_PROCESS) allow Packing of 8

.

            pointer += ENUM_SERVICE_STATUS_PROCESS.SizePack8;

.

            serviceStatus = (ENUM_SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(new IntPtr(pointer),

.

               typeof(ENUM_SERVICE_STATUS_PROCESS));

.

            // incremement by sizeof(ENUM_SERVICE_STATUS_PROCESS) allow Packing of 4

.

            pointer += ENUM_SERVICE_STATUS_PROCESS.SizePack4;

.

      internal struct ENUM_SERVICE_STATUS_PROCESS

.

     internal static readonly int SizePack4 = Marshal.SizeOf(typeof(ENUM_SERVICE_STATUS_PROCESS));

.

     /// sizeof(ENUM_SERVICE_STATUS_PROCESS) allow Packing of 8 on 64 bit machines

.

     internal static readonly int SizePack8 = Marshal.SizeOf(typeof(ENUM_SERVICE_STATUS_PROCESS)) + 4;

.

     internal SERVICE_STATUS_PROCESS ServiceStatus;

.

      internal struct SERVICE_STATUS_PROCESS

.

See SERVICE_STATUS_PROCESS definition.

.

    public static SERVICE_STATUS_PROCESS QueryServiceStatusEx(IntPtr serviceHandle)

.

        return (SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(buf, typeof(SERVICE_STATUS_PROCESS));

.

See SERVICE_STATUS_PROCESS definition.

.

//NB for this code to work you will need to change the SERVICE_STATUS_PROCESS class to a struct

.

    public static SERVICE_STATUS_PROCESS QueryServiceStatusEx(SafeHandle serviceHandle)

.

             pData = Marshal.AllocHGlobal(sizeof(SERVICE_STATUS_PROCESS));

.

            bool bOk = QueryServiceStatusEx(serviceHandle.DangerousGetHandle(), 0, pData, sizeof(SERVICE_STATUS_PROCESS), out

.

            SERVICE_STATUS_PROCESS pStatus = (SERVICE_STATUS_PROCESS)Marshal.PtrToStructure(pData, typeof(SERVICE_STATUS_PROCESS));

.
Summary
.

public struct SERVICE_STATUS_PROCESS

.

Public Structure SERVICE_STATUS_PROCESS

.
Documentation
[SERVICE_STATUS_PROCESS] on MSDN

 
Access PInvoke.net directly from VS: