{
PEPROCESSProcess = NULL;
/* Loop every process */
Process = PsGetNextProcess(Process);
while (Process)
{
/* Make sure this isn't the idle or initial process */if ((Process != PsInitialSystemProcess) && (Process != PsIdleProcess))
{
/* Print it */DPRINT1("%15s is still RUNNING (%lx)\n", Process->ImageFileName, Process->UniqueProcessId);
}
/* Get the next process */
Process = PsGetNextProcess(Process);
}
/* First, the HAL handles any "end of boot" special functionality */DPRINT1("HAL shutting down\n");
HalEndOfBoot();
/* In this step, the I/O manager does first-chance shutdown notification */DPRINT1("I/O manager shutting down in phase 0\n");
IoShutdownSystem(0);
/* In this step, all workers are killed and hives are flushed */DPRINT1("Configuration Manager shutting down\n");
CmShutdownSystem();
/* Note that modified pages should be written here (MiShutdownSystem) */#ifdef NEWCC/* Flush all user files before we start shutting down IO *//* This is where modified pages are written back by the IO manager */CcShutdownSystem();
#endif/* In this step, the I/O manager does last-chance shutdown notification */DPRINT1("I/O manager shutting down in phase 1\n");
IoShutdownSystem(1);
CcWaitForCurrentLazyWriterActivity();
/* Note that here, we should broadcast the power IRP to devices *//* In this step, the HAL disables any wake timers */DPRINT1("Disabling wake timers\n");
HalSetWakeEnable(FALSE);
/* And finally the power request is sent */DPRINT1("Taking the system down\n");
PopShutdownSystem(PopAction.Action);
}
Generated on Sun May 27 2012 06:07:08 for ReactOS by
1.7.6.1
ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.