15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef SANDBOX_TESTS_VALIDATION_TESTS_COMMANDS_H__
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define SANDBOX_TESTS_VALIDATION_TESTS_COMMANDS_H__
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include <windows.h>
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/strings/string16.h"
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace sandbox {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Checks if window is a real window. Returns a SboxTestResult.
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int TestValidWindow(HWND window);
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tries to open the process_id. Returns a SboxTestResult.
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int TestOpenProcess(DWORD process_id, DWORD access_mask);
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tries to open thread_id. Returns a SboxTestResult.
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int TestOpenThread(DWORD thread_id);
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tries to open path for read access. Returns a SboxTestResult.
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)int TestOpenReadFile(const base::string16& path);
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tries to open path for write access. Returns a SboxTestResult.
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)int TestOpenWriteFile(const base::string16& path);
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tries to open a registry key.
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)int TestOpenKey(HKEY base_key, base::string16 subkey);
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tries to open the workstation's input desktop as long as the
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// current desktop is not the interactive one. Returns a SboxTestResult.
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int TestOpenInputDesktop();
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tries to switch the interactive desktop. Returns a SboxTestResult.
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int TestSwitchDesktop();
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Tries to open the alternate desktop. Returns a SboxTestResult.
40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)int TestOpenAlternateDesktop(wchar_t *desktop_name);
41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Tries to enumerate desktops on the alternate windowstation.
43a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Returns a SboxTestResult.
44a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)int TestEnumAlternateWinsta();
45a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace sandbox
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // SANDBOX_TESTS_VALIDATION_TESTS_COMMANDS_H__
49