// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file.
namespace sandbox { // The section for IPC and policy.
SANDBOX_INTERCEPT HANDLE g_shared_section; staticbool s_is_broker = false;
// GetBrokerServices: the current implementation relies on a shared section // that is created by the broker and opened by the target.
BrokerServices* SandboxFactory::GetBrokerServices() { // Can't be the broker if the shared section is open. if (g_shared_section) return nullptr; // If the shared section does not exist we are the broker, then create // the broker object.
s_is_broker = true; return BrokerServicesBase::GetInstance();
}
// GetTargetServices implementation must follow the same technique as the // GetBrokerServices, but in this case the logic is the opposite.
TargetServices* SandboxFactory::GetTargetServices() { // Can't be the target if the section handle is not valid. if (!g_shared_section) return nullptr; // We are the target
s_is_broker = false; // Creates and returns the target services implementation. return TargetServicesBase::GetInstance();
}
} // namespace sandbox
// Allows querying for whether the current process has been sandboxed. extern"C"bool __declspec(dllexport) IsSandboxedProcess() { return !!sandbox::g_shared_section;
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.