Пишу приложение, которое должно быть совместимо с WM 2003 и 2005. Возникла необходимость программной перезагрузки.
Выполняю её через вызов:
| Код | KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
|
Такая фигня проходит нормально и на 2003 и на 2005.
Пробуем другой вариант, в ходе которого появляется глюк:
| Код | SetCleanRebootFlag(); KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
|
Такой вариант приводит к зависанию WM2003 (вернее эмулятора, т.к. у меня нету живого девайса с WM2003) и нормально отрабатывает на 2005. Подскажите, в чём причина зависания на WM 2003? Это глюк эмулятора или это реально я что-то не так делаю? |