6. Korumalı alandan çıkma
Korumalı alanı nasıl çalıştırdığınıza bağlı olarak (bu adıma bakın) korumalı alanı ve dolayısıyla Sandboxee'yi sonlandırma şeklinizi de ayarlamanız gerekir.
Eşzamanlı olarak çalışan bir korumalı alandan çıkma
Korumalı alan eşzamanlı olarak çalışıyorsa Run yalnızca Sandboxee tamamlandığında geri döner. Bu nedenle, fesih için ek bir adım gerekmez. Aşağıdaki kod snippet'inde bu senaryo gösterilmektedir:
Sandbox2::Result result = s2.Run();
LOG(INFO) << "Final execution status: " << result.ToString();
Eşzamansız olarak çalışan bir korumalı alandan çıkma
Sandbox eşzamansız olarak çalışıyorsa sonlandırma için iki seçenek vardır. İlk olarak, Sandboxee'nin tamamlanmasını bekleyip son yürütme durumunu alabilirsiniz:
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();
Alternatif olarak, Sandboxee'yi istediğiniz zaman sonlandırabilirsiniz. Ancak Sandboxee bu süre zarfında başka bir nedenden dolayı sonlanabileceğinden AwaitResult()
işlevini çağırmanız önerilir:
s2.Kill();
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();