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

NtRaiseHandError (ntdll)
 
.
Summary

C# Signature:

    [DllImport("ntdll.dll")]
    private static extern uint NtRaiseHardError(
    uint ErrorStatus,
    uint NumberOfParameters,
    uint UnicodeStringParameterMask,
    IntPtr Parameters,
    uint ValidResponseOption,
    out uint Response

);

or C# Signature (with NT-Status enum):

    [DllImport("ntdll.dll")]
    private static extern uint NtRaiseHardError(
    NtStatus ErrorStatus,
    uint NumberOfParameters,
    uint UnicodeStringParameterMask,
    IntPtr Parameters,
    uint ValidResponseOption,
    out uint Response

);

VB Signature:

    <DllImport("ntdll.dll")>
    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
    UInteger
    End Function

NT-Status codes (for ErrorStatus // added by Lufzys (All Status values)):

http://deusexmachina.uk/ntstatus.html

NT-Status codes C# enum (for ErrorStatus // added by Lufzys (A little bit status values)):

http://pinvoke.net/default.aspx/Enums/NTStatus.html

Notes:

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.");
    Console.ReadKey();
    RtlAdjustPrivilege(19, true, false, out bool previousValue);
    NtRaiseHardError(0xC0000420, 0, 0, IntPtr.Zero, 6, out uint Response);
    NtRaiseHandError(0xC0000420, 0, 0, IntPtr.Zero, 6, out uint Response);

VB.Net Sample Code:

    Console.Write("Press any key to trigger a BSOD.")
    Console.ReadKey()
    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 PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions