15 #define TAG_ERR ' rrE' 57 IN ULONG UnicodeStringParameterMask,
71 for (
i = 0;
i < NumberOfParameters;
i++)
103 IN ULONG UnicodeStringParameterMask,
152 UnicodeStringParameterMask,
169 PortHandle =
Process->ExceptionPort;
212 if (PortHandle ==
NULL)
228 UnicodeStringParameterMask,
244 Message->ValidResponseOptions = ValidResponseOptions;
245 Message->UnicodeStringParameterMask = UnicodeStringParameterMask;
246 Message->NumberOfParameters = NumberOfParameters;
388 IN ULONG UnicodeStringParameterMask,
408 if (UnicodeStringParameterMask)
414 for (
i = 0;
i < NumberOfParameters;
i++)
417 if (UnicodeStringParameterMask & (1 <<
i))
445 BufferBase = UserParams->
Buffer;
451 for (
i = 0;
i < NumberOfParameters;
i++)
454 if (UnicodeStringParameterMask & (1 <<
i))
465 CapturedParams[
i].
Buffer = BufferBase;
468 UserParams->
Strings[
i] = CapturedParams[
i];
484 DPRINT1(
"ExRaiseHardError - Exception when writing data to user-mode, Status 0x%08lx\n",
Status);
498 UnicodeStringParameterMask,
500 ValidResponseOptions,
555 IN ULONG UnicodeStringParameterMask,
588 switch (ValidResponseOptions)
611 ParamSize =
sizeof(
ULONG_PTR) * NumberOfParameters;
637 if (UnicodeStringParameterMask)
640 for (
i = 0;
i < NumberOfParameters;
i++)
643 if (UnicodeStringParameterMask & (1 <<
i))
677 UnicodeStringParameterMask,
679 ValidResponseOptions,
709 UnicodeStringParameterMask,
711 ValidResponseOptions,
752 DPRINT1(
"NtSetDefaultHardErrorPort: Caller requires " 753 "the SeTcbPrivilege privilege!\n");
#define ProbeForWriteUlong(Ptr)
#define KeQuerySystemTime(t)
DECLSPEC_NORETURN NTSYSAPI VOID NTAPI RtlRaiseStatus(_In_ NTSTATUS Status)
#define STATUS_PRIVILEGE_NOT_HELD
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
#define STATUS_INSUFFICIENT_RESOURCES
#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)
#define STATUS_NOT_IMPLEMENTED
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)
BOOLEAN NTAPI SeSinglePrivilegeCheck(IN LUID PrivilegeValue, IN KPROCESSOR_MODE PreviousMode)
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
#define EXCEPTION_CONTINUE_SEARCH
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
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 EXCEPTION_EXECUTE_HANDLER
#define STATUS_INVALID_PARAMETER_2
#define NtCurrentProcess()
struct _HARDERROR_MSG HARDERROR_MSG
POBJECT_TYPE LpcPortObjectType
_In_ KPROCESSOR_MODE PreviousMode
#define _SEH2_YIELD(STMT_)
#define NT_SUCCESS(StatCode)
ULONG_PTR Parameters[MAXIMUM_HARDERROR_PARAMETERS]
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
#define RTL_SEM_FAILCRITICALERRORS
VOID NTAPI ExRaiseAccessViolation(VOID)
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
#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)
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
IN PVOID IN PVOID IN USHORT IN USHORT Size
const LUID SeTcbPrivilege
UnicodeString MaximumLength
const LUID SeShutdownPrivilege
LONG NTAPI ExSystemExceptionFilter(VOID)
struct _HARDERROR_MSG * PHARDERROR_MSG
#define STATUS_ACCESS_VIOLATION
#define PORT_MAXIMUM_MESSAGE_LENGTH
#define FIELD_OFFSET(t, f)
WCHAR Buffer[ANYSIZE_ARRAY]
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 _SEH2_EXCEPT(...)
#define MAXIMUM_HARDERROR_PARAMETERS
#define ExFreePoolWithTag(_P, _T)
#define _SEH2_GetExceptionCode()
#define STATUS_INVALID_PARAMETER_4
ULONG HardErrorsAreDisabled
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)