InitiateShutdown (advapi32)
Last changed: -209.167.114.101

.
Summary
Initiates a shutdown and restart of the specified computer, and restarts any applications that have been registered for restart.

C# Signature:

  [DllImport("advapi32.dll", SetLastError = true)]
  static extern UInt32 InitiateShutdown(
    string lpMachineName,
    string lpMessage,
    UInt32 dwGracePeriod,
    UInt32 dwShutdownFlags,
    UInt32 dwReason);

VB Signature:

    ' InitiateShutdown
    ' https://msdn.microsoft.com/en-us/library/windows/desktop/aa376872(v=vs.85).aspx
    <DllImport("Advapi32.dll", CharSet:=CharSet.Ansi, BestFitMapping:=False, ThrowOnUnmappableChar:=True)> _
    Friend Shared Function InitiateShutdown( _
     ByVal lpMachineName As String, _
     ByVal lpMessage As String, _
     ByVal dwGracePeriod As UInt32, _
     ByVal dwShutdownFlags As UInt32, _
     ByVal dwReason As UInt32) As UInt32 ' returns ERROR_SUCCESS (&H0) if successful
    End Function

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

    ' used with InitiateShutdown
    <Flags()> _
    Friend Enum ShutdownFlags As UInt32
    SHUTDOWN_FORCE_OTHERS = &H1     ' all sessions are forcefully logged off
    SHUTDOWN_FORCE_SELF = &H2       ' the originating session is forcefully logged off
    SHUTDOWN_RESTART = &H4      ' shut down and reboot
    SHUTDOWN_POWEROFF = &H8     ' shut down and power down
    SHUTDOWN_NOREBOOT = &H10    ' shut down but don't power down nor reboot
    SHUTDOWN_GRACE_OVERRIDE = &H20  ' override the grace period (shut down immediately)
    SHUTDOWN_INSTALL_UPDATES = &H40 ' install pending Windows updates before starting the shutdown
    SHUTDOWN_RESTARTAPPS = &H80     ' restart applications that have been registered for restart using the RegisterApplicationRestart function
    SHUTDOWN_HYBRID = &H200     ' beginning with Win8, this flag must be set if any other flags are set
    End Enum

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation