And the reason you couldn't pass Parameters?
Best regards, Alex Ionescu
On Wed, Sep 30, 2009 at 2:31 PM, sginsberg@svn.reactos.org wrote:
Author: sginsberg Date: Wed Sep 30 20:31:26 2009 New Revision: 43241
URL: http://svn.reactos.org/svn/reactos?rev=43241&view=rev Log:
- KeBugCheckEx expects BugCheckParameter2 to point to an array when the bug code is FATAL_UNHANDLED_HARD_ERROR -- properly stub out ExpSystemErrorHandler so we don't crash in KeBugCheckEx.
Modified: trunk/reactos/ntoskrnl/ex/harderr.c
Modified: trunk/reactos/ntoskrnl/ex/harderr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/harderr.c?rev=4... ============================================================================== --- trunk/reactos/ntoskrnl/ex/harderr.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/harderr.c [iso-8859-1] Wed Sep 30 20:31:26 2009 @@ -58,10 +58,12 @@ IN PULONG_PTR Parameters, IN BOOLEAN Shutdown) {
- ULONG_PTR Dummy[4] = {0, 0, 0, 0};
/* FIXME: STUB */ KeBugCheckEx(FATAL_UNHANDLED_HARD_ERROR, ErrorStatus,
- 0,
- (ULONG_PTR)Dummy,
0, 0); return STATUS_SUCCESS;
And the reason you couldn't pass Parameters?
Because KeBugCheck expects the array to contain 4 entries, and Parameters isn't guranteed to be that big. What do you think of the following?
NTSTATUS NTAPI ExpSystemErrorHandler(IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN ULONG UnicodeStringParameterMask, IN PULONG_PTR Parameters, IN BOOLEAN Shutdown) { ULONG_PTR BugCheckParameters[MAXIMUM_HARDERROR_PARAMETERS] = {0, 0, 0, 0}; ULONG i;
/* * KeBugCheck expects MAXIMUM_HARDERROR_PARAMETERS parameters, * but we might get called with less, so use a local buffer here. */ for (i = 0; i < NumberOfParameters; i++) { /* Copy them over */ BugCheckParameters[i] = Parameters[i]; }
/* FIXME: STUB */ KeBugCheckEx(FATAL_UNHANDLED_HARD_ERROR, ErrorStatus, (ULONG_PTR)BugCheckParameters, 0, 0); return STATUS_SUCCESS; }
Date: Wed, 30 Sep 2009 18:03:48 -0400 From: ionucu@videotron.ca To: ros-dev@reactos.org Subject: Re: [ros-dev] [ros-diffs] [sginsberg] 43241: - KeBugCheckEx expects BugCheckParameter2 to point to an array when the bug code is FATAL_UNHANDLED_HARD_ERROR -- properly stub out ExpSystemErrorHandler so we don't crash in KeBugCheckEx.
And the reason you couldn't pass Parameters?
Best regards, Alex Ionescu
On Wed, Sep 30, 2009 at 2:31 PM, sginsberg@svn.reactos.org wrote:
Author: sginsberg Date: Wed Sep 30 20:31:26 2009 New Revision: 43241
URL: http://svn.reactos.org/svn/reactos?rev=43241&view=rev Log:
- KeBugCheckEx expects BugCheckParameter2 to point to an array when the bug code is FATAL_UNHANDLED_HARD_ERROR -- properly stub out ExpSystemErrorHandler so we don't crash in KeBugCheckEx.
Modified: á átrunk/reactos/ntoskrnl/ex/harderr.c
Modified: trunk/reactos/ntoskrnl/ex/harderr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/harderr.c?rev=4... ============================================================================== --- trunk/reactos/ntoskrnl/ex/harderr.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/harderr.c [iso-8859-1] Wed Sep 30 20:31:26 2009 @@ -58,10 +58,12 @@ á á á á á á á á á á á IN PULONG_PTR Parameters, á á á á á á á á á á á IN BOOLEAN Shutdown) á{
- á áULONG_PTR Dummy[4] = {0, 0, 0, 0};
á á /* FIXME: STUB */ á á KeBugCheckEx(FATAL_UNHANDLED_HARD_ERROR, á á á á á á á á áErrorStatus,
- á á á á á á á á 0,
- á á á á á á á á (ULONG_PTR)Dummy,
á á á á á á á á á0, á á á á á á á á á0); á á return STATUS_SUCCESS;
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
_________________________________________________________________ More than messages–check out the rest of the Windows Live™. http://www.microsoft.com/windows/windowslive/