[WIN32SS:NTUSER] Bugcheck in case two mandatory initialization steps are not fulfilled.
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 5 Jan 2019 15:50:32 +0000 (16:50 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 10 Feb 2019 21:44:24 +0000 (22:44 +0100)
- Bugcheck VIDEO_DRIVER_INIT_FAILURE in case initializing video fails.
- Bugcheck WIN32K_INIT_OR_RIT_FAILURE (Windows-compatible) in case
  the USER subsystem version does not match.

win32ss/user/ntuser/ntuser.c

index e44feb8..d433855 100644 (file)
@@ -132,9 +132,13 @@ UserInitialize(VOID)
     Status = UserCreateWinstaDirectory();
     if (!NT_SUCCESS(Status)) return Status;
 
-    /* Initialize Video */
+    /* Initialize the Video */
     Status = InitVideo();
-    if (!NT_SUCCESS(Status)) return Status;
+    if (!NT_SUCCESS(Status))
+    {
+        /* We failed, bugcheck */
+        KeBugCheckEx(VIDEO_DRIVER_INIT_FAILURE, Status, 0, 0, USER_VERSION);
+    }
 
 // {
 //     DrvInitConsole.
@@ -185,8 +189,8 @@ NtUserInitialize(
     /* Check Windows USER subsystem version */
     if (dwWinVersion != USER_VERSION)
     {
-        // FIXME: Should bugcheck!
-        return STATUS_UNSUCCESSFUL;
+        /* No match, bugcheck */
+        KeBugCheckEx(WIN32K_INIT_OR_RIT_FAILURE, 0, 0, dwWinVersion, USER_VERSION);
     }
 
     /* Acquire exclusive lock */