| 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 #include "remoting/host/daemon_process.h" | 5 #include "remoting/host/daemon_process.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 | 356 |
| 357 SECURITY_ATTRIBUTES security_attributes = {0}; | 357 SECURITY_ATTRIBUTES security_attributes = {0}; |
| 358 security_attributes.nLength = sizeof(security_attributes); | 358 security_attributes.nLength = sizeof(security_attributes); |
| 359 security_attributes.lpSecurityDescriptor = sd.get(); | 359 security_attributes.lpSecurityDescriptor = sd.get(); |
| 360 security_attributes.bInheritHandle = FALSE; | 360 security_attributes.bInheritHandle = FALSE; |
| 361 | 361 |
| 362 HKEY key = nullptr; | 362 HKEY key = nullptr; |
| 363 result = ::RegCreateKeyEx( | 363 result = ::RegCreateKeyEx( |
| 364 root.Handle(), kPairingRegistrySecretsKeyName, 0, nullptr, 0, | 364 root.Handle(), kPairingRegistrySecretsKeyName, 0, nullptr, 0, |
| 365 KEY_READ | KEY_WRITE, &security_attributes, &key, &disposition); | 365 KEY_READ | KEY_WRITE, &security_attributes, &key, &disposition); |
| 366 privileged.Set(key); | 366 if (result == ERROR_SUCCESS) { |
| 367 RegCloseKey(key); |
| 368 privileged.Open(root.Handle(), kPairingRegistrySecretsKeyName, |
| 369 KEY_READ | KEY_WRITE); |
| 370 } |
| 367 } | 371 } |
| 368 | 372 |
| 369 if (result != ERROR_SUCCESS) { | 373 if (result != ERROR_SUCCESS) { |
| 370 ::SetLastError(result); | 374 ::SetLastError(result); |
| 371 PLOG(ERROR) << "Failed to open or create HKLM\\" << kPairingRegistryKeyName | 375 PLOG(ERROR) << "Failed to open or create HKLM\\" << kPairingRegistryKeyName |
| 372 << "\\" << kPairingRegistrySecretsKeyName; | 376 << "\\" << kPairingRegistrySecretsKeyName; |
| 373 return false; | 377 return false; |
| 374 } | 378 } |
| 375 | 379 |
| 376 pairing_registry_privileged_key_.Set(privileged.Take()); | 380 pairing_registry_privileged_key_ = std::move(privileged); |
| 377 pairing_registry_unprivileged_key_.Set(unprivileged.Take()); | 381 pairing_registry_unprivileged_key_ = std::move(unprivileged); |
| 378 return true; | 382 return true; |
| 379 } | 383 } |
| 380 | 384 |
| 381 } // namespace remoting | 385 } // namespace remoting |
| OLD | NEW |