summaryrefslogtreecommitdiffstats
path: root/sandbox/src/sandbox_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/src/sandbox_utils.cc')
-rw-r--r--sandbox/src/sandbox_utils.cc79
1 files changed, 0 insertions, 79 deletions
diff --git a/sandbox/src/sandbox_utils.cc b/sandbox/src/sandbox_utils.cc
deleted file mode 100644
index 3bfa696..0000000
--- a/sandbox/src/sandbox_utils.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright (c) 2011 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.
-
-#include "sandbox/src/sandbox_utils.h"
-
-#include <windows.h>
-
-#include "base/logging.h"
-#include "base/win/windows_version.h"
-#include "sandbox/src/internal_types.h"
-#include "sandbox/src/nt_internals.h"
-
-namespace sandbox {
-
-bool GetModuleHandleHelper(DWORD flags, const wchar_t* module_name,
- HMODULE* module) {
- DCHECK(module);
-
- HMODULE kernel32_base = ::GetModuleHandle(kKerneldllName);
- if (!kernel32_base) {
- NOTREACHED();
- return false;
- }
-
- GetModuleHandleExFunction get_module_handle_ex = reinterpret_cast<
- GetModuleHandleExFunction>(::GetProcAddress(kernel32_base,
- "GetModuleHandleExW"));
- if (get_module_handle_ex) {
- BOOL ret = get_module_handle_ex(flags, module_name, module);
- return (ret ? true : false);
- }
-
- if (!flags) {
- *module = ::LoadLibrary(module_name);
- } else if (flags & GET_MODULE_HANDLE_EX_FLAG_PIN) {
- NOTREACHED();
- return false;
- } else if (!(flags & GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)) {
- DCHECK((flags & GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) ==
- GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT);
-
- *module = ::GetModuleHandle(module_name);
- } else {
- DCHECK((flags & (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT |
- GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)) ==
- (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT |
- GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS));
-
- MEMORY_BASIC_INFORMATION info = {0};
- size_t returned = VirtualQuery(module_name, &info, sizeof(info));
- if (sizeof(info) != returned)
- return false;
- *module = reinterpret_cast<HMODULE>(info.AllocationBase);
- }
- return true;
-}
-
-bool IsXPSP2OrLater() {
- base::win::Version version = base::win::GetVersion();
- return (version > base::win::VERSION_XP) ||
- ((version == base::win::VERSION_XP) &&
- (base::win::OSInfo::GetInstance()->service_pack().major >= 2));
-}
-
-void InitObjectAttribs(const std::wstring& name, ULONG attributes, HANDLE root,
- OBJECT_ATTRIBUTES* obj_attr, UNICODE_STRING* uni_name) {
- static RtlInitUnicodeStringFunction RtlInitUnicodeString;
- if (!RtlInitUnicodeString) {
- HMODULE ntdll = ::GetModuleHandle(kNtdllName);
- RtlInitUnicodeString = reinterpret_cast<RtlInitUnicodeStringFunction>(
- GetProcAddress(ntdll, "RtlInitUnicodeString"));
- DCHECK(RtlInitUnicodeString);
- }
- RtlInitUnicodeString(uni_name, name.c_str());
- InitializeObjectAttributes(obj_attr, uni_name, attributes, root, NULL);
-}
-
-}; // namespace sandbox