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