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
NtRaiseHandError (ntdll)

C# Signature:

    private static extern uint NtRaiseHardError(
    uint ErrorStatus,
    uint NumberOfParameters,
    uint UnicodeStringParameterMask,
    IntPtr Parameters,
    uint ValidResponseOption,
    out uint Response


VB Signature:

    Private Shared Function NtRaiseHardError(ByVal ErrorStatus As UInteger, ByVal NumberOfParameters As UInteger, ByVal UnicodeStringParameterMask As UInteger, ByVal Parameters As IntPtr, ByVal ValidResponseOption As UInteger, <Out()> ByRef Response As UInteger) As
    End Function

User-Defined Types:


Alternative Managed API:

Do you know one? Please contribute it!


Requires the SeShutdownPriviledge, otherwise will fail.

Use RtlAdjustPrivilege with Privilege parameter 19 to enable SeShutdownPriviledge.

Tips & Tricks:

Please add some!

C# Sample Code:

    Console.Write("Press any key to trigger a BSOD.");
    RtlAdjustPrivilege(19, true, false, out bool previousValue);
    NtRaiseHandError(0xC0000420, 0, 0, IntPtr.Zero, 6, out uint Response);

VB.Net Sample Code:

    Console.Write("Press any key to trigger a BSOD.")
    Dim previousValue As Boolean
    RtlAdjustPrivilege(19, True, False, previousValue)
    Dim Response As UInteger
    NtRaiseHardError(3221226528, 0, 0, IntPtr.Zero, 6, Response)

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