私は多くのスレッドと複雑な静的オブジェクトを持つ大きなアプリケーションを持っています。現在、ユーザーがログアウトすると、アプリケーションは強制的に初期状態にリセットされます。Windowsプロセスを以前の状態にリセットするにはどうすればよいですか?
このプロセスはWindowsサービスに変更されているため、この方法はもはや不可能です。同様に、コードは、ユーザーがログアウトしたときに状態をリセットする方法を適切に実装するには大変混乱しています。
プロセスの初期メモリ全体をディスクに書き込んだ後、リセットが要求されたときにロードするアプローチが考えられるかもしれませんが、カーネルモードの状態を保存できないなど多くの問題があります。
実際にプロセスを再起動せずに、このプロセスを初期状態にリセットする方法(ただし、汚れている)が必要です。 winapiは私のためにこれを達成できる何かを提供しますか?
リセット時に新しいアプリケーションプールを作成し、その中のすべてのオブジェクトを作成することはどうですか? – kenny
あなたが何を示唆しているのか分かっていれば、どこにでもポインタを保存しなくても、アプリケーションニュースは__aロットのオブジェクトになります。彼らはメモリに浮かんで、アプリケーションが終了するまでそのことをやり遂げることを意図しています。これが可能かどうかはわかりません。 –
編集:おっと、私はアプリケーションドメインではないプールを意味しています...アプリケーションドメインを強制終了すると、アプリケーションが終了するようなものです。それがあなたに役立つかどうかは分かりません。それはそれ自身のメモリの '保護された'メモリ、ほとんど完全なプロセスですが、そうではありません。 ;) – kenny