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