winapi_ui_automation/um/
debugapi.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6use shared::minwindef::{BOOL, DWORD, PBOOL};
7use um::minwinbase::LPDEBUG_EVENT;
8use um::winnt::{HANDLE, LPCSTR, LPCWSTR};
9extern "system" {
10    pub fn IsDebuggerPresent() -> BOOL;
11    pub fn DebugBreak();
12    pub fn OutputDebugStringA(
13        lpOutputString: LPCSTR,
14    );
15    pub fn OutputDebugStringW(
16        lpOutputString: LPCWSTR,
17    );
18    pub fn ContinueDebugEvent(
19        dwProcessId: DWORD,
20        dwThreadId: DWORD,
21        dwContinueStatus: DWORD,
22    ) -> BOOL;
23    pub fn WaitForDebugEvent(
24        lpDebugEvent: LPDEBUG_EVENT,
25        dwMilliseconds: DWORD,
26    ) -> BOOL;
27    pub fn DebugActiveProcess(
28        dwProcessId: DWORD,
29    ) -> BOOL;
30    pub fn DebugActiveProcessStop(
31        dwProcessId: DWORD,
32    ) -> BOOL;
33    pub fn CheckRemoteDebuggerPresent(
34        hProcess: HANDLE,
35        pbDebuggerPresent: PBOOL,
36    ) -> BOOL;
37    pub fn WaitForDebugEventEx(
38        lpDebugEvent: LPDEBUG_EVENT,
39        dwMilliseconds: DWORD,
40    ) -> BOOL;
41}