// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_UPDATER_WIN_SCOPED_IMPERSONATION_H_
#define CHROME_UPDATER_WIN_SCOPED_IMPERSONATION_H_
#include <windows.h>
namespace updater {
class ScopedImpersonation {
public:
ScopedImpersonation() = default;
ScopedImpersonation(const ScopedImpersonation&) = delete;
ScopedImpersonation& operator=(const ScopedImpersonation&) = delete;
~ScopedImpersonation();
HRESULT Impersonate(HANDLE session);
private:
HRESULT result_ = E_FAIL;
};
} // namespace updater
#endif // CHROME_UPDATER_WIN_SCOPED_IMPERSONATION_H_