У меня есть большое приложение с большим количеством потоков и множеством сложных статических объектов. В настоящее время, когда пользователь выходит из системы, приложение перезапускается, чтобы принудительно сбросить приложение в исходное состояние.Как сбросить процесс Windows в предыдущее состояние?
Этот процесс заменяется на службу Windows, поэтому этот подход больше невозможен. Аналогичным образом, код слишком велик, чтобы правильно реализовать способ сброса состояния при выходе пользователя из системы.
Я думал, что может быть подход с записью исходной памяти всего процесса на диск, а затем его загрузку при запросе на сброс, но у этого есть много проблем, таких как невозможность сохранения состояния режима ядра.
Мне нужен способ (однако грязный), чтобы сбросить этот процесс в исходное состояние, не перезапустив процесс. Предоставляет ли winapi все, что может сделать это для меня?
Как создать новый пул приложений при сбросе и все объекты там? – kenny
Если я понимаю, что вы предлагаете, новости приложения __a lot__ объектов, не сохраняя указателей на них в любом месте. Они предназначены для того, чтобы просто всплывать в памяти и делать свое дело, пока приложение не закроется. Я не уверен, что это очень возможно. –
EDIT: К сожалению, я имел в виду Application Domain not pool ... Убивание домена приложения очень похоже на выход приложения. Не уверен, что это поможет вам. У этого есть собственная память «защищенная» память, почти полный процесс, но нет. ;) – kenny