#[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn BindIoCompletionCallback(filehandle : super::super::Foundation:: HANDLE, function : LPOVERLAPPED_COMPLETION_ROUTINE, flags : u32) -> super::super::Foundation:: BOOL); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn CancelIo(hfile : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn CancelIoEx(hfile : super::super::Foundation:: HANDLE, lpoverlapped : *const OVERLAPPED) -> super::super::Foundation:: BOOL); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn CancelSynchronousIo(hthread : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn CreateIoCompletionPort(filehandle : super::super::Foundation:: HANDLE, existingcompletionport : super::super::Foundation:: HANDLE, completionkey : usize, numberofconcurrentthreads : u32) -> super::super::Foundation:: HANDLE); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] 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); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn GetOverlappedResult(hfile : super::super::Foundation:: HANDLE, lpoverlapped : *const OVERLAPPED, lpnumberofbytestransferred : *mut u32, bwait : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn GetOverlappedResultEx(hfile : super::super::Foundation:: HANDLE, lpoverlapped : *const OVERLAPPED, lpnumberofbytestransferred : *mut u32, dwmilliseconds : u32, balertable : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn GetQueuedCompletionStatus(completionport : super::super::Foundation:: HANDLE, lpnumberofbytestransferred : *mut u32, lpcompletionkey : *mut usize, lpoverlapped : *mut *mut OVERLAPPED, dwmilliseconds : u32) -> super::super::Foundation:: BOOL); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] 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); #[cfg(feature = "Win32_Foundation")] ::windows_targets::link!("kernel32.dll" "system" #[doc = "Required features: `\"Win32_Foundation\"`"] fn PostQueuedCompletionStatus(completionport : super::super::Foundation:: HANDLE, dwnumberofbytestransferred : u32, dwcompletionkey : usize, lpoverlapped : *const OVERLAPPED) -> super::super::Foundation:: BOOL); #[repr(C)] #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub struct IO_STATUS_BLOCK { pub Anonymous: IO_STATUS_BLOCK_0, pub Information: usize, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for IO_STATUS_BLOCK {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for IO_STATUS_BLOCK { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub union IO_STATUS_BLOCK_0 { pub Status: super::super::Foundation::NTSTATUS, pub Pointer: *mut ::core::ffi::c_void, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for IO_STATUS_BLOCK_0 {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for IO_STATUS_BLOCK_0 { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub struct OVERLAPPED { pub Internal: usize, pub InternalHigh: usize, pub Anonymous: OVERLAPPED_0, pub hEvent: super::super::Foundation::HANDLE, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for OVERLAPPED {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for OVERLAPPED { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub union OVERLAPPED_0 { pub Anonymous: OVERLAPPED_0_0, pub Pointer: *mut ::core::ffi::c_void, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for OVERLAPPED_0 {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for OVERLAPPED_0 { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub struct OVERLAPPED_0_0 { pub Offset: u32, pub OffsetHigh: u32, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for OVERLAPPED_0_0 {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for OVERLAPPED_0_0 { fn clone(&self) -> Self { *self } } #[repr(C)] #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub struct OVERLAPPED_ENTRY { pub lpCompletionKey: usize, pub lpOverlapped: *mut OVERLAPPED, pub Internal: usize, pub dwNumberOfBytesTransferred: u32, } #[cfg(feature = "Win32_Foundation")] impl ::core::marker::Copy for OVERLAPPED_ENTRY {} #[cfg(feature = "Win32_Foundation")] impl ::core::clone::Clone for OVERLAPPED_ENTRY { fn clone(&self) -> Self { *self } } #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub type LPOVERLAPPED_COMPLETION_ROUTINE = ::core::option::Option ()>; #[doc = "Required features: `\"Win32_Foundation\"`"] #[cfg(feature = "Win32_Foundation")] pub type PIO_APC_ROUTINE = ::core::option::Option ()>;