4. Korumalı Alan'ı çalıştırın

Önceki bölümlerde korumalı alan, politika, yürütücü ve Sandboxee'yi hazırladınız. Bir sonraki adım, Sandbox2 nesnesini oluşturmak ve çalıştırmaktır.

Eşzamanlı olarak çalıştır

Korumalı alan eşzamanlı olarak çalışabilir. Bu nedenle, sonuç oluşana kadar engellenir. Aşağıdaki kod snippet'i, Sandbox2 nesnesinin örneklenmesini ve eşzamanlı yürütmesini gösterir. Daha ayrıntılı bir örnek için statik bölümüne bakın.

#include "sandboxed_api/sandbox2/sandbox2.h"

sandbox2::Sandbox2 s2(std::move(executor), std::move(policy));
sandbox2::Result result = s2.Run();  // Synchronous
LOG(INFO) << "Result of sandbox execution: " << result.ToString();

Eşzamansız olarak çalıştır

Ayrıca, korumalı alanı eşzamansız olarak da çalıştırabilirsiniz. Böylece, sonuç kurulana kadar engelleme yapamazsınız. Bu, örneğin Sandboxee ile iletişim kurarken yararlıdır. Aşağıdaki kod snippet'i bu kullanım alanını gösterir. Daha ayrıntılı örnekler için crc4 ve tool öğesine bakın.

#include "sandboxed_api/sandbox2/sandbox2.h"

sandbox2::Sandbox2 s2(std::move(executor), std::move(policy));
if (s2.RunAsync()) {
  // Communicate with sandboxee, use s2.Kill() to kill it if needed
  // ...
}
Sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();