1 #[link(name = "windows")]
3 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn BindIoCompletionCallback(filehandle
: super::super::Foundation
::HANDLE
, function
: LPOVERLAPPED_COMPLETION_ROUTINE
, flags
: u32) -> super::super::Foundation
::BOOL
;
6 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
7 #[cfg(feature = "Win32_Foundation")]
8 pub fn CancelIo(hfile
: super::super::Foundation
::HANDLE
) -> super::super::Foundation
::BOOL
;
9 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn CancelIoEx(hfile
: super::super::Foundation
::HANDLE
, lpoverlapped
: *const OVERLAPPED
) -> super::super::Foundation
::BOOL
;
12 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
13 #[cfg(feature = "Win32_Foundation")]
14 pub fn CancelSynchronousIo(hthread
: super::super::Foundation
::HANDLE
) -> super::super::Foundation
::BOOL
;
15 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn CreateIoCompletionPort(filehandle
: super::super::Foundation
::HANDLE
, existingcompletionport
: super::super::Foundation
::HANDLE
, completionkey
: usize, numberofconcurrentthreads
: u32) -> super::super::Foundation
::HANDLE
;
18 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
19 #[cfg(feature = "Win32_Foundation")]
20 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
;
21 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
22 #[cfg(feature = "Win32_Foundation")]
23 pub fn GetOverlappedResult(hfile
: super::super::Foundation
::HANDLE
, lpoverlapped
: *const OVERLAPPED
, lpnumberofbytestransferred
: *mut u32, bwait
: super::super::Foundation
::BOOL
) -> super::super::Foundation
::BOOL
;
24 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
25 #[cfg(feature = "Win32_Foundation")]
26 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
;
27 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
28 #[cfg(feature = "Win32_Foundation")]
29 pub fn GetQueuedCompletionStatus(completionport
: super::super::Foundation
::HANDLE
, lpnumberofbytestransferred
: *mut u32, lpcompletionkey
: *mut usize, lpoverlapped
: *mut *mut OVERLAPPED
, dwmilliseconds
: u32) -> super::super::Foundation
::BOOL
;
30 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
31 #[cfg(feature = "Win32_Foundation")]
32 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
;
33 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
34 #[cfg(feature = "Win32_Foundation")]
35 pub fn PostQueuedCompletionStatus(completionport
: super::super::Foundation
::HANDLE
, dwnumberofbytestransferred
: u32, dwcompletionkey
: usize, lpoverlapped
: *const OVERLAPPED
) -> super::super::Foundation
::BOOL
;
37 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
38 #[cfg(feature = "Win32_Foundation")]
39 pub type LPOVERLAPPED_COMPLETION_ROUTINE
= ::core
::option
::Option
<unsafe extern "system" fn(dwerrorcode
: u32, dwnumberofbytestransfered
: u32, lpoverlapped
: *mut OVERLAPPED
)>;
41 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
42 #[cfg(feature = "Win32_Foundation")]
43 pub struct OVERLAPPED
{
45 pub InternalHigh
: usize,
46 pub Anonymous
: OVERLAPPED_0
,
47 pub hEvent
: super::super::Foundation
::HANDLE
,
49 #[cfg(feature = "Win32_Foundation")]
50 impl ::core
::marker
::Copy
for OVERLAPPED {}
51 #[cfg(feature = "Win32_Foundation")]
52 impl ::core
::clone
::Clone
for OVERLAPPED
{
53 fn clone(&self) -> Self {
58 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
59 #[cfg(feature = "Win32_Foundation")]
60 pub union OVERLAPPED_0
{
61 pub Anonymous
: OVERLAPPED_0_0
,
62 pub Pointer
: *mut ::core
::ffi
::c_void
,
64 #[cfg(feature = "Win32_Foundation")]
65 impl ::core
::marker
::Copy
for OVERLAPPED_0 {}
66 #[cfg(feature = "Win32_Foundation")]
67 impl ::core
::clone
::Clone
for OVERLAPPED_0
{
68 fn clone(&self) -> Self {
73 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
74 #[cfg(feature = "Win32_Foundation")]
75 pub struct OVERLAPPED_0_0
{
79 #[cfg(feature = "Win32_Foundation")]
80 impl ::core
::marker
::Copy
for OVERLAPPED_0_0 {}
81 #[cfg(feature = "Win32_Foundation")]
82 impl ::core
::clone
::Clone
for OVERLAPPED_0_0
{
83 fn clone(&self) -> Self {
88 #[doc = "*Required features: `\"Win32_System_IO\"`, `\"Win32_Foundation\"`*"]
89 #[cfg(feature = "Win32_Foundation")]
90 pub struct OVERLAPPED_ENTRY
{
91 pub lpCompletionKey
: usize,
92 pub lpOverlapped
: *mut OVERLAPPED
,
94 pub dwNumberOfBytesTransferred
: u32,
96 #[cfg(feature = "Win32_Foundation")]
97 impl ::core
::marker
::Copy
for OVERLAPPED_ENTRY {}
98 #[cfg(feature = "Win32_Foundation")]
99 impl ::core
::clone
::Clone
for OVERLAPPED_ENTRY
{
100 fn clone(&self) -> Self {