OpenSCManager (advapi32)
Last changed: -131.107.0.103

.
Summary
TODO - a short description

C# Signature:

[DllImport("advapi32.dll", SetLastError=true)]
static extern TODO OpenSCManager(TODO);

VB Signature:

    <DllImport("advapi32.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _
    Private Shared Function OpenSCManager(ByVal machineName As String, ByVal databaseName As String, ByVal desiredAccess As Int32) As IntPtr
    End Function

User-Defined Types:

None.

Notes:

Tips & Tricks:

Pass in Null/Nothing for MachineName to use the local machine.

Pass in Null/nothing as the database name to use the default SERVICES_ACTIVE_DATABASE

Sample Code:

Const STANDARD_RIGHTS_REQUIRED As Int32 = &HF0000

    Const SC_MANAGER_CONNECT As Int32 = &H1
    Const SC_MANAGER_CREATE_SERVICE As Int32 = &H2
    Const SC_MANAGER_ENUMERATE_SERVICE As Int32 = &H4
    Const SC_MANAGER_LOCK As Int32 = &H8
    Const SC_MANAGER_QUERY_LOCK_STATUS As Int32 = &H10
    Const SC_MANAGER_MODIFY_BOOT_CONFIG As Int32 = &H20

    Const SC_MANAGER_ALL_ACCESS As Int32 = STANDARD_RIGHTS_REQUIRED Or _
                        SC_MANAGER_CONNECT Or _
                        SC_MANAGER_CREATE_SERVICE Or _
                        SC_MANAGER_ENUMERATE_SERVICE Or _
                        SC_MANAGER_LOCK Or _
                        SC_MANAGER_QUERY_LOCK_STATUS Or _
                        SC_MANAGER_MODIFY_BOOT_CONFIG

    Dim scHandle As IntPtr = OpenSCManager(Nothing, Nothing, SC_MANAGER_ALL_ACCESS )
    MsgBox(scHandle.ToString)
    CloseHandle(scHandle)

Alternative Managed API:

Do you know one? Please contribute it!

Documentation