reactos/ntoskrnl/ex
diff -u -r1.25 -r1.26
--- power.c 21 Aug 2004 15:29:08 -0000 1.25
+++ power.c 12 Sep 2004 21:58:01 -0000 1.26
@@ -31,9 +31,20 @@
NTSTATUS STDCALL
NtShutdownSystem(IN SHUTDOWN_ACTION Action)
{
+ static PCH FamousLastWords[] =
+ {
+ "Oh my God, they killed Kenny! Those bastards!\n",
+ "Goodbye, and thanks for all the fish\n",
+ "I'll be back\n"
+ };
+ LARGE_INTEGER Now;
+
if (Action > ShutdownPowerOff)
return STATUS_INVALID_PARAMETER;
+ ZwQuerySystemTime(&Now);
+ Now.u.LowPart = Now.u.LowPart >> 8; /* Seems to give a somewhat better "random" number */
+
IoShutdownRegisteredDevices();
CmShutdownRegistry();
IoShutdownRegisteredFileSystems();
@@ -43,6 +54,8 @@
if (Action == ShutdownNoReboot)
{
+ HalReleaseDisplayOwnership();
+ HalDisplayString(FamousLastWords[Now.u.LowPart % (sizeof(FamousLastWords) / sizeof(PCH))]);
#if 0
/* Switch off */
HalReturnToFirmware (FIRMWARE_OFF);