| Index: remoting/host/desktop_process.cc
|
| diff --git a/remoting/host/desktop_process.cc b/remoting/host/desktop_process.cc
|
| index e3ff18ceba7d485822b52a1d994e63f75434d826..5cec219bf4fc3859b6cc9ad99584bd997607751d 100644
|
| --- a/remoting/host/desktop_process.cc
|
| +++ b/remoting/host/desktop_process.cc
|
| @@ -25,6 +25,10 @@
|
| #include "remoting/host/desktop_environment.h"
|
| #include "remoting/host/desktop_session_agent.h"
|
|
|
| +#if defined(OS_WIN)
|
| +#include "base/win/windows_version.h"
|
| +#endif // defined(OS_WIN)
|
| +
|
| namespace remoting {
|
|
|
| DesktopProcess::DesktopProcess(
|
| @@ -61,6 +65,22 @@ void DesktopProcess::InjectSas() {
|
| daemon_channel_->Send(new ChromotingDesktopDaemonMsg_InjectSas());
|
| }
|
|
|
| +void DesktopProcess::LockWorkStation() {
|
| + DCHECK(caller_task_runner_->BelongsToCurrentThread());
|
| +#if defined(OS_WIN)
|
| + if (base::win::OSInfo::GetInstance()->version_type() ==
|
| + base::win::VersionType::SUITE_HOME) {
|
| + return;
|
| + }
|
| +
|
| + if (!::LockWorkStation()) {
|
| + LOG(ERROR) << "LockWorkStation() failed: " << ::GetLastError();
|
| + }
|
| +#else
|
| + NOTREACHED();
|
| +#endif // defined(OS_WIN)
|
| +}
|
| +
|
| bool DesktopProcess::OnMessageReceived(const IPC::Message& message) {
|
| DCHECK(caller_task_runner_->BelongsToCurrentThread());
|
|
|
|
|