55 IN ULONG UnicodeStringParameterMask,
69 for (
i = 0;
i < NumberOfParameters;
i++)
101 IN ULONG UnicodeStringParameterMask,
150 UnicodeStringParameterMask,
167 PortHandle =
Process->ExceptionPort;
210 if (PortHandle ==
NULL)
226 UnicodeStringParameterMask,
242 Message->ValidResponseOptions = ValidResponseOptions;
243 Message->UnicodeStringParameterMask = UnicodeStringParameterMask;
244 Message->NumberOfParameters = NumberOfParameters;
386 IN ULONG UnicodeStringParameterMask,
406 if (UnicodeStringParameterMask)
412 for (
i = 0;
i < NumberOfParameters;
i++)
415 if (UnicodeStringParameterMask & (1 <<
i))
443 BufferBase = UserParams->
Buffer;
449 for (
i = 0;
i < NumberOfParameters;
i++)
452 if (UnicodeStringParameterMask & (1 <<
i))
463 CapturedParams[
i].
Buffer = BufferBase;
466 UserParams->
Strings[
i] = CapturedParams[
i];
482 DPRINT1(
"ExRaiseHardError - Exception when writing data to user-mode, Status 0x%08lx\n",
Status);
496 UnicodeStringParameterMask,
498 ValidResponseOptions,
553 IN ULONG UnicodeStringParameterMask,
586 switch (ValidResponseOptions)
609 ParamSize =
sizeof(
ULONG_PTR) * NumberOfParameters;
635 if (UnicodeStringParameterMask)
638 for (
i = 0;
i < NumberOfParameters;
i++)
641 if (UnicodeStringParameterMask & (1 <<
i))
675 UnicodeStringParameterMask,
677 ValidResponseOptions,
707 UnicodeStringParameterMask,
709 ValidResponseOptions,
750 DPRINT1(
"NtSetDefaultHardErrorPort: Caller requires " 751 "the SeTcbPrivilege privilege!\n");
#define ProbeForWriteUlong(Ptr)
#define KeQuerySystemTime(t)
DECLSPEC_NORETURN NTSYSAPI VOID NTAPI RtlRaiseStatus(_In_ NTSTATUS Status)
#define STATUS_PRIVILEGE_NOT_HELD
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
#define SEM_FAILCRITICALERRORS
#define PsGetCurrentThread()
NTSTATUS NTAPI NtRaiseHardError(IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN ULONG UnicodeStringParameterMask, IN PULONG_PTR Parameters, IN ULONG ValidResponseOptions, OUT PULONG Response)
PEPROCESS ExpDefaultErrorPortProcess
#define KeGetPreviousMode()
NTSTATUS NTAPI ExRaiseHardError(IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN ULONG UnicodeStringParameterMask, IN PULONG_PTR Parameters, IN ULONG ValidResponseOptions, OUT PULONG Response)
VOID __cdecl _purecall(VOID)
IN PVOID IN PVOID IN USHORT IN USHORT Size
KPROCESSOR_MODE NTAPI ExGetPreviousMode(VOID)
NTSTATUS NTAPI NtSetDefaultHardErrorPort(IN HANDLE PortHandle)
UNICODE_STRING Strings[MAXIMUM_HARDERROR_PARAMETERS]
NTSTATUS NTAPI LpcRequestWaitReplyPort(IN PVOID PortObject, IN PPORT_MESSAGE LpcRequest, OUT PPORT_MESSAGE LpcReply)
#define RtlMoveMemory(Destination, Source, Length)
#define HARDERROR_OVERRIDE_ERRORMODE
return STATUS_NOT_IMPLEMENTED
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define PsGetCurrentProcess
#define STATUS_INVALID_PARAMETER_2
#define NtCurrentProcess()
struct _HARDERROR_MSG HARDERROR_MSG
POBJECT_TYPE LpcPortObjectType
_In_ KPROCESSOR_MODE PreviousMode
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
#define NT_SUCCESS(StatCode)
#define EXCEPTION_EXECUTE_HANDLER
ULONG_PTR Parameters[MAXIMUM_HARDERROR_PARAMETERS]
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
#define RTL_SEM_FAILCRITICALERRORS
VOID NTAPI ExRaiseAccessViolation(VOID)
#define STATUS_UNSUCCESSFUL
#define ExAllocatePoolWithTag(hernya, size, tag)
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI ExRaiseDatatypeMisalignment(VOID)
const LUID SeTcbPrivilege
const LUID SeShutdownPrivilege
LONG NTAPI ExSystemExceptionFilter(VOID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
struct _HARDERROR_MSG * PHARDERROR_MSG
#define EXCEPTION_CONTINUE_SEARCH
#define STATUS_ACCESS_VIOLATION
#define PORT_MAXIMUM_MESSAGE_LENGTH
#define FIELD_OFFSET(t, f)
WCHAR Buffer[ANYSIZE_ARRAY]
BOOLEAN NTAPI SeSinglePrivilegeCheck(_In_ LUID PrivilegeValue, _In_ KPROCESSOR_MODE PreviousMode)
Checks if a single privilege is present in the context of the calling thread.
NTSTATUS NTAPI ExpSystemErrorHandler(IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN ULONG UnicodeStringParameterMask, IN PULONG_PTR Parameters, IN BOOLEAN Shutdown)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
NTSTATUS NTAPI ExpRaiseHardError(IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN ULONG UnicodeStringParameterMask, IN PULONG_PTR Parameters, IN ULONG ValidResponseOptions, OUT PULONG Response)
#define ObReferenceObject
#define STATUS_DATATYPE_MISALIGNMENT
PVOID ExpDefaultErrorPort
#define RtlCopyMemory(Destination, Source, Length)
#define _SEH2_EXCEPT(...)
#define MAXIMUM_HARDERROR_PARAMETERS
#define _SEH2_GetExceptionCode()
#define _SEH2_YIELD(__stmt)
#define STATUS_INVALID_PARAMETER_4
ULONG HardErrorsAreDisabled
#define ExFreePoolWithTag(_P, _T)
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)