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. 6 use shared::minwindef::{BOOL, DWORD, ULONG}; 7 use um::minwinbase::LPTHREAD_START_ROUTINE; 8 use um::winnt::{HANDLE, PHANDLE, PVOID, WAITORTIMERCALLBACK}; 9 extern "system" { QueueUserWorkItem( Function: LPTHREAD_START_ROUTINE, Context: PVOID, Flags: ULONG, ) -> BOOL10 pub fn QueueUserWorkItem( 11 Function: LPTHREAD_START_ROUTINE, 12 Context: PVOID, 13 Flags: ULONG, 14 ) -> BOOL; UnregisterWaitEx( WaitHandle: HANDLE, CompletionEvent: HANDLE, ) -> BOOL15 pub fn UnregisterWaitEx( 16 WaitHandle: HANDLE, 17 CompletionEvent: HANDLE, 18 ) -> BOOL; CreateTimerQueue() -> HANDLE19 pub fn CreateTimerQueue() -> HANDLE; CreateTimerQueueTimer( phNewTimer: PHANDLE, TimerQueue: HANDLE, Callback: WAITORTIMERCALLBACK, Parameter: PVOID, DueTime: DWORD, Period: DWORD, Flags: ULONG, ) -> BOOL20 pub fn CreateTimerQueueTimer( 21 phNewTimer: PHANDLE, 22 TimerQueue: HANDLE, 23 Callback: WAITORTIMERCALLBACK, 24 Parameter: PVOID, 25 DueTime: DWORD, 26 Period: DWORD, 27 Flags: ULONG, 28 ) -> BOOL; ChangeTimerQueueTimer( TimerQueue: HANDLE, Timer: HANDLE, DueTime: ULONG, Period: ULONG, ) -> BOOL29 pub fn ChangeTimerQueueTimer( 30 TimerQueue: HANDLE, 31 Timer: HANDLE, 32 DueTime: ULONG, 33 Period: ULONG, 34 ) -> BOOL; DeleteTimerQueueTimer( TimerQueue: HANDLE, Timer: HANDLE, CompletionEvent: HANDLE, ) -> BOOL35 pub fn DeleteTimerQueueTimer( 36 TimerQueue: HANDLE, 37 Timer: HANDLE, 38 CompletionEvent: HANDLE, 39 ) -> BOOL; DeleteTimerQueueEx( TimerQueue: HANDLE, CompletionEvent: HANDLE, ) -> BOOL40 pub fn DeleteTimerQueueEx( 41 TimerQueue: HANDLE, 42 CompletionEvent: HANDLE, 43 ) -> BOOL; 44 } 45