Desktop Functions:

   Smart Device Functions:

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

Terms of Use
Privacy Policy
InitiateShutdown (advapi32)
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
    <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:


Alternative Managed API:

Do you know one? Please contribute it!


    ' 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     ' for Win8 and above: perform a hybrid shutdown (log out the users and hibernate the kernel)
    End Enum

Tips & Tricks:

Please add some!

Sample Code:

Please add some!


Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

Access directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version