6. Korumalı alandan çıkma

Korumalı alanı nasıl çalıştırdığınıza bağlı olarak (bu adıma bakın) korumalı alanı sonlandırma şeklinizi ve ayrıca Korumalı Alan'ı ayarlamanız gerekir.

Eşzamanlı olarak çalışan bir korumalı alandan çıkma

Korumalı alan eşzamanlı olarak çalışıyorsa Çalıştır işlevi yalnızca Korumalı Alan (Korumalı Alan) bittiğinde geri döner. Bu nedenle, fesih için ek bir adım gerekli değildir. Aşağıdaki kod snippet'i bu senaryoyu gösterir:

Sandbox2::Result result = s2.Run();
LOG(INFO) << "Final execution status: " << result.ToString();

Eş zamansız olarak çalışan bir korumalı alandan çıkma

Korumalı alan eşzamansız olarak çalışıyorsa sonlandırma için iki seçenek mevcuttur. Öncelikle, Sandboxee'nin tamamlanmasını bekleyebilir ve 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 bu sırada başka bir nedenden dolayı Sandboxee'yi sonlandırabileceği için AwaitResult() çağrısı yapmanız önerilir:

s2.Kill();
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();