1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
4 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
5 #[cfg(feature = "Win32_Foundation")]
6 pub fn BindIoCompletionCallback(filehandle
: super::super::Foundation
::HANDLE
, function
: LPOVERLAPPED_COMPLETION_ROUTINE
, flags
: u32) -> super::super::Foundation
::BOOL
;
7 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn CancelIo(hfile
: super::super::Foundation
::HANDLE
) -> super::super::Foundation
::BOOL
;
10 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
11 #[cfg(feature = "Win32_Foundation")]
12 pub fn CancelIoEx(hfile
: super::super::Foundation
::HANDLE
, lpoverlapped
: *const OVERLAPPED
) -> super::super::Foundation
::BOOL
;
13 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn CancelSynchronousIo(hthread
: super::super::Foundation
::HANDLE
) -> super::super::Foundation
::BOOL
;
16 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
17 #[cfg(feature = "Win32_Foundation")]
18 pub fn CreateIoCompletionPort(filehandle
: super::super::Foundation
::HANDLE
, existingcompletionport
: super::super::Foundation
::HANDLE
, completionkey
: usize, numberofconcurrentthreads
: u32) -> super::super::Foundation
::HANDLE
;
19 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
20 #[cfg(feature = "Win32_Foundation")]
21 pub fn DeviceIoControl(hdevice
: super::super::Foundation
::HANDLE
, dwiocontrolcode
: u32, lpinbuffer
: *const ::core
::ffi
::c_void
, ninbuffersize
: u32, lpoutbuffer
: *mut ::core
::ffi
::c_void
, noutbuffersize
: u32, lpbytesreturned
: *mut u32, lpoverlapped
: *mut OVERLAPPED
) -> super::super::Foundation
::BOOL
;
22 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
23 #[cfg(feature = "Win32_Foundation")]
24 pub fn GetOverlappedResult(hfile
: super::super::Foundation
::HANDLE
, lpoverlapped
: *const OVERLAPPED
, lpnumberofbytestransferred
: *mut u32, bwait
: super::super::Foundation
::BOOL
) -> super::super::Foundation
::BOOL
;
25 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
26 #[cfg(feature = "Win32_Foundation")]
27 pub fn GetOverlappedResultEx(hfile
: super::super::Foundation
::HANDLE
, lpoverlapped
: *const OVERLAPPED
, lpnumberofbytestransferred
: *mut u32, dwmilliseconds
: u32, balertable
: super::super::Foundation
::BOOL
) -> super::super::Foundation
::BOOL
;
28 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
29 #[cfg(feature = "Win32_Foundation")]
30 pub fn GetQueuedCompletionStatus(completionport
: super::super::Foundation
::HANDLE
, lpnumberofbytestransferred
: *mut u32, lpcompletionkey
: *mut usize, lpoverlapped
: *mut *mut OVERLAPPED
, dwmilliseconds
: u32) -> super::super::Foundation
::BOOL
;
31 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
32 #[cfg(feature = "Win32_Foundation")]
33 pub fn GetQueuedCompletionStatusEx(completionport
: super::super::Foundation
::HANDLE
, lpcompletionportentries
: *mut OVERLAPPED_ENTRY
, ulcount
: u32, ulnumentriesremoved
: *mut u32, dwmilliseconds
: u32, falertable
: super::super::Foundation
::BOOL
) -> super::super::Foundation
::BOOL
;
34 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
35 #[cfg(feature = "Win32_Foundation")]
36 pub fn PostQueuedCompletionStatus(completionport
: super::super::Foundation
::HANDLE
, dwnumberofbytestransferred
: u32, dwcompletionkey
: usize, lpoverlapped
: *const OVERLAPPED
) -> super::super::Foundation
::BOOL
;
38 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
39 #[cfg(feature = "Win32_Foundation")]
40 pub type LPOVERLAPPED_COMPLETION_ROUTINE
= ::core
::option
::Option
<unsafe extern "system" fn(dwerrorcode
: u32, dwnumberofbytestransfered
: u32, lpoverlapped
: *mut OVERLAPPED
)>;
42 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
43 #[cfg(feature = "Win32_Foundation")]
44 pub struct OVERLAPPED
{
46 pub InternalHigh
: usize,
47 pub Anonymous
: OVERLAPPED_0
,
48 pub hEvent
: super::super::Foundation
::HANDLE
,
50 #[cfg(feature = "Win32_Foundation")]
51 impl ::core
::marker
::Copy
for OVERLAPPED {}
52 #[cfg(feature = "Win32_Foundation")]
53 impl ::core
::clone
::Clone
for OVERLAPPED
{
54 fn clone(&self) -> Self {
59 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
60 #[cfg(feature = "Win32_Foundation")]
61 pub union OVERLAPPED_0
{
62 pub Anonymous
: OVERLAPPED_0_0
,
63 pub Pointer
: *mut ::core
::ffi
::c_void
,
65 #[cfg(feature = "Win32_Foundation")]
66 impl ::core
::marker
::Copy
for OVERLAPPED_0 {}
67 #[cfg(feature = "Win32_Foundation")]
68 impl ::core
::clone
::Clone
for OVERLAPPED_0
{
69 fn clone(&self) -> Self {
74 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
75 #[cfg(feature = "Win32_Foundation")]
76 pub struct OVERLAPPED_0_0
{
80 #[cfg(feature = "Win32_Foundation")]
81 impl ::core
::marker
::Copy
for OVERLAPPED_0_0 {}
82 #[cfg(feature = "Win32_Foundation")]
83 impl ::core
::clone
::Clone
for OVERLAPPED_0_0
{
84 fn clone(&self) -> Self {
89 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
90 #[cfg(feature = "Win32_Foundation")]
91 pub struct OVERLAPPED_ENTRY
{
92 pub lpCompletionKey
: usize,
93 pub lpOverlapped
: *mut OVERLAPPED
,
95 pub dwNumberOfBytesTransferred
: u32,
97 #[cfg(feature = "Win32_Foundation")]
98 impl ::core
::marker
::Copy
for OVERLAPPED_ENTRY {}
99 #[cfg(feature = "Win32_Foundation")]
100 impl ::core
::clone
::Clone
for OVERLAPPED_ENTRY
{
101 fn clone(&self) -> Self {