OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // NOTE: This code is a legacy utility API for partners to check whether | 5 // NOTE: This code is a legacy utility API for partners to check whether |
6 // Chrome can be installed and launched. Recent updates are being made | 6 // Chrome can be installed and launched. Recent updates are being made |
7 // to add new functionality. These updates use code from Chromium, the old | 7 // to add new functionality. These updates use code from Chromium, the old |
8 // coded against the win32 api directly. If you have an itch to shave a | 8 // coded against the win32 api directly. If you have an itch to shave a |
9 // yak, feel free to re-write the old code too. | 9 // yak, feel free to re-write the old code too. |
10 | 10 |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 &size_returned)) { | 309 &size_returned)) { |
310 ::CloseHandle(process_token); | 310 ::CloseHandle(process_token); |
311 return false; | 311 return false; |
312 } | 312 } |
313 | 313 |
314 ::CloseHandle(process_token); | 314 ::CloseHandle(process_token); |
315 return (elevation_type == TokenElevationTypeFull); | 315 return (elevation_type == TokenElevationTypeFull); |
316 } | 316 } |
317 | 317 |
318 bool GetUserIdForProcess(size_t pid, wchar_t** user_sid) { | 318 bool GetUserIdForProcess(size_t pid, wchar_t** user_sid) { |
319 HANDLE process_handle = ::OpenProcess(PROCESS_QUERY_INFORMATION, TRUE, pid); | 319 HANDLE process_handle = |
| 320 ::OpenProcess(PROCESS_QUERY_INFORMATION, TRUE, static_cast<DWORD>(pid)); |
320 if (process_handle == NULL) | 321 if (process_handle == NULL) |
321 return false; | 322 return false; |
322 | 323 |
323 HANDLE process_token; | 324 HANDLE process_token; |
324 bool result = false; | 325 bool result = false; |
325 if (::OpenProcessToken(process_handle, TOKEN_QUERY, &process_token)) { | 326 if (::OpenProcessToken(process_handle, TOKEN_QUERY, &process_token)) { |
326 DWORD size = 0; | 327 DWORD size = 0; |
327 ::GetTokenInformation(process_token, TokenUser, NULL, 0, &size); | 328 ::GetTokenInformation(process_token, TokenUser, NULL, 0, &size); |
328 if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER || | 329 if (::GetLastError() == ERROR_INSUFFICIENT_BUFFER || |
329 ::GetLastError() == ERROR_SUCCESS) { | 330 ::GetLastError() == ERROR_SUCCESS) { |
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
785 key.WriteValue(kRelaunchAllowedAfterValue, | 786 key.WriteValue(kRelaunchAllowedAfterValue, |
786 FormatDateOffsetByMonths(6)) != ERROR_SUCCESS || | 787 FormatDateOffsetByMonths(6)) != ERROR_SUCCESS || |
787 !SetRelaunchExperimentLabels(relaunch_brandcode, shell_mode)) { | 788 !SetRelaunchExperimentLabels(relaunch_brandcode, shell_mode)) { |
788 if (error_code) | 789 if (error_code) |
789 *error_code = RELAUNCH_ERROR_RELAUNCH_FAILED; | 790 *error_code = RELAUNCH_ERROR_RELAUNCH_FAILED; |
790 return FALSE; | 791 return FALSE; |
791 } | 792 } |
792 | 793 |
793 return TRUE; | 794 return TRUE; |
794 } | 795 } |
OLD | NEW |