1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// found in the LICENSE file. 4f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#ifndef SANDBOX_SRC_PROCESS_MITIGATIONS_WIN32K_DISPATCHER_H_ 6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#define SANDBOX_SRC_PROCESS_MITIGATIONS_WIN32K_DISPATCHER_H_ 7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "base/basictypes.h" 9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "sandbox/win/src/sandbox_policy_base.h" 10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace sandbox { 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// This class sets up intercepts for the Win32K lockdown policy which is set 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// on Windows 8 and beyond. 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class ProcessMitigationsWin32KDispatcher : public Dispatcher { 16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) public: 17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) explicit ProcessMitigationsWin32KDispatcher(PolicyBase* policy_base); 18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) ~ProcessMitigationsWin32KDispatcher() {} 19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) // Dispatcher interface. 21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) virtual bool SetupService(InterceptionManager* manager, int service); 22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) private: 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) PolicyBase* policy_base_; 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ProcessMitigationsWin32KDispatcher); 27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}; 28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} // namespace sandbox 30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#endif // SANDBOX_SRC_PROCESS_MITIGATIONS_WIN32K_DISPATCHER_H_ 32