Index: base/win/startup_information.cc |
diff --git a/base/win/startup_information.cc b/base/win/startup_information.cc |
deleted file mode 100644 |
index aff52eb794bf3dd33fa5bce0cfd96dc2d40fff23..0000000000000000000000000000000000000000 |
--- a/base/win/startup_information.cc |
+++ /dev/null |
@@ -1,109 +0,0 @@ |
-// Copyright (c) 2012 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 "base/win/startup_information.h" |
- |
-#include "base/logging.h" |
-#include "base/win/windows_version.h" |
- |
-namespace { |
- |
-typedef BOOL (WINAPI *InitializeProcThreadAttributeListFunction)( |
- LPPROC_THREAD_ATTRIBUTE_LIST attribute_list, |
- DWORD attribute_count, |
- DWORD flags, |
- PSIZE_T size); |
-static InitializeProcThreadAttributeListFunction |
- initialize_proc_thread_attribute_list; |
- |
-typedef BOOL (WINAPI *UpdateProcThreadAttributeFunction)( |
- LPPROC_THREAD_ATTRIBUTE_LIST attribute_list, |
- DWORD flags, |
- DWORD_PTR attribute, |
- PVOID value, |
- SIZE_T size, |
- PVOID previous_value, |
- PSIZE_T return_size); |
-static UpdateProcThreadAttributeFunction update_proc_thread_attribute_list; |
- |
-typedef VOID (WINAPI *DeleteProcThreadAttributeListFunction)( |
- LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList); |
-static DeleteProcThreadAttributeListFunction delete_proc_thread_attribute_list; |
- |
-} // namespace |
- |
-namespace base { |
-namespace win { |
- |
-StartupInformation::StartupInformation() { |
- memset(&startup_info_, 0, sizeof(startup_info_)); |
- |
- // Pre Windows Vista doesn't support STARTUPINFOEX. |
- if (base::win::GetVersion() < base::win::VERSION_VISTA) { |
- startup_info_.StartupInfo.cb = sizeof(STARTUPINFO); |
- return; |
- } |
- |
- startup_info_.StartupInfo.cb = sizeof(startup_info_); |
- |
- // Load the attribute API functions. |
- if (!initialize_proc_thread_attribute_list || |
- !update_proc_thread_attribute_list || |
- !delete_proc_thread_attribute_list) { |
- HMODULE module = ::GetModuleHandleW(L"kernel32.dll"); |
- initialize_proc_thread_attribute_list = |
- reinterpret_cast<InitializeProcThreadAttributeListFunction>( |
- ::GetProcAddress(module, "InitializeProcThreadAttributeList")); |
- update_proc_thread_attribute_list = |
- reinterpret_cast<UpdateProcThreadAttributeFunction>( |
- ::GetProcAddress(module, "UpdateProcThreadAttribute")); |
- delete_proc_thread_attribute_list = |
- reinterpret_cast<DeleteProcThreadAttributeListFunction>( |
- ::GetProcAddress(module, "DeleteProcThreadAttributeList")); |
- } |
-} |
- |
-StartupInformation::~StartupInformation() { |
- if (startup_info_.lpAttributeList) { |
- delete_proc_thread_attribute_list(startup_info_.lpAttributeList); |
- delete [] reinterpret_cast<BYTE*>(startup_info_.lpAttributeList); |
- } |
-} |
- |
-bool StartupInformation::InitializeProcThreadAttributeList( |
- DWORD attribute_count) { |
- if (startup_info_.StartupInfo.cb != sizeof(startup_info_) || |
- startup_info_.lpAttributeList) |
- return false; |
- |
- SIZE_T size = 0; |
- initialize_proc_thread_attribute_list(NULL, attribute_count, 0, &size); |
- if (size == 0) |
- return false; |
- |
- startup_info_.lpAttributeList = |
- reinterpret_cast<LPPROC_THREAD_ATTRIBUTE_LIST>(new BYTE[size]); |
- if (!initialize_proc_thread_attribute_list(startup_info_.lpAttributeList, |
- attribute_count, 0, &size)) { |
- delete [] reinterpret_cast<BYTE*>(startup_info_.lpAttributeList); |
- startup_info_.lpAttributeList = NULL; |
- return false; |
- } |
- |
- return true; |
-} |
- |
-bool StartupInformation::UpdateProcThreadAttribute( |
- DWORD_PTR attribute, |
- void* value, |
- size_t size) { |
- if (!startup_info_.lpAttributeList) |
- return false; |
- return !!update_proc_thread_attribute_list(startup_info_.lpAttributeList, 0, |
- attribute, value, size, NULL, NULL); |
-} |
- |
-} // namespace win |
-} // namespace base |
- |