about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Denton <christophersdenton@gmail.com>2024-03-16 18:27:33 +0000
committerGitHub <noreply@github.com>2024-03-16 18:27:33 +0000
commitceef59fa2b7ca7b9a8037ae311782526ffcd1f28 (patch)
treeb1d3d387289041c926b7341c72d695cd5ec13aa9
parent491acfa08d7139823bd6bd058cf3eb32d67c18b9 (diff)
parent6cb2f03c034bacd7fbc916381b0e9a5e5928fdc1 (diff)
downloadrust-ceef59fa2b7ca7b9a8037ae311782526ffcd1f28.tar.gz
rust-ceef59fa2b7ca7b9a8037ae311782526ffcd1f28.zip
Rollup merge of #122390 - ChrisDenton:bindgen, r=Mark-Simulacrum
Bump windows-bindgen to 0.55.0

windows-bindgen is the crate used to generate std's Windows API bindings.

Not many changes for us, it's mostly just simplifying the generate code (e.g. no more `-> ()`). The one substantial change is some structs now use `i8` byte arrays instead of `u8`. However, this only impacts one test.
-rw-r--r--Cargo.lock10
-rw-r--r--library/std/src/fs/tests.rs1
-rw-r--r--library/std/src/sys/pal/windows/c/windows_sys.rs424
-rw-r--r--src/tools/generate-windows-sys/Cargo.toml2
4 files changed, 219 insertions, 218 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 94e2570ebaf..927e93f27eb 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -6280,12 +6280,14 @@ dependencies = [
 
 [[package]]
 name = "windows-bindgen"
-version = "0.52.0"
+version = "0.55.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "970efb0b6849eb8a87a898f586af7cc167567b070014c7434514c0bde0ca341c"
+checksum = "073ff8a486ebad239d557809d2cd5fe5e04ee1de29e09c6cd83fb0bae19b8a4c"
 dependencies = [
  "proc-macro2",
  "rayon",
+ "serde",
+ "serde_json",
  "syn 2.0.52",
  "windows-metadata",
 ]
@@ -6301,9 +6303,9 @@ dependencies = [
 
 [[package]]
 name = "windows-metadata"
-version = "0.52.0"
+version = "0.55.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "218fd59201e26acdbb894fa2b302d1de84bf3eec7d0eb894ac8e9c5a854ee4ef"
+checksum = "b602635050172a1fc57a35040d4d225baefc6098fefd97094919921d95961a7d"
 
 [[package]]
 name = "windows-sys"
diff --git a/library/std/src/fs/tests.rs b/library/std/src/fs/tests.rs
index a65e78542bf..65dec3863cc 100644
--- a/library/std/src/fs/tests.rs
+++ b/library/std/src/fs/tests.rs
@@ -1782,6 +1782,7 @@ fn windows_unix_socket_exists() {
         }
         let mut addr = c::SOCKADDR_UN { sun_family: c::AF_UNIX, sun_path: mem::zeroed() };
         let bytes = socket_path.as_os_str().as_encoded_bytes();
+        let bytes = core::slice::from_raw_parts(bytes.as_ptr().cast::<i8>(), bytes.len());
         addr.sun_path[..bytes.len()].copy_from_slice(bytes);
         let len = mem::size_of_val(&addr) as i32;
         let result = c::bind(socket, ptr::addr_of!(addr).cast::<c::SOCKADDR>(), len);
diff --git a/library/std/src/sys/pal/windows/c/windows_sys.rs b/library/std/src/sys/pal/windows/c/windows_sys.rs
index baaa8257d84..d180122d735 100644
--- a/library/std/src/sys/pal/windows/c/windows_sys.rs
+++ b/library/std/src/sys/pal/windows/c/windows_sys.rs
@@ -1,4 +1,4 @@
-// Bindings generated by `windows-bindgen` 0.52.0
+// Bindings generated by `windows-bindgen` 0.55.0
 
 #![allow(non_snake_case, non_upper_case_globals, non_camel_case_types, dead_code, clippy::all)]
 #[link(name = "advapi32")]
@@ -12,16 +12,15 @@ extern "system" {
 #[link(name = "advapi32")]
 extern "system" {
     #[link_name = "SystemFunction036"]
-    pub fn RtlGenRandom(randombuffer: *mut ::core::ffi::c_void, randombufferlength: u32)
-    -> BOOLEAN;
+    pub fn RtlGenRandom(randombuffer: *mut core::ffi::c_void, randombufferlength: u32) -> BOOLEAN;
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn AcquireSRWLockExclusive(srwlock: *mut SRWLOCK) -> ();
+    pub fn AcquireSRWLockExclusive(srwlock: *mut SRWLOCK);
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn AcquireSRWLockShared(srwlock: *mut SRWLOCK) -> ();
+    pub fn AcquireSRWLockShared(srwlock: *mut SRWLOCK);
 }
 #[link(name = "kernel32")]
 extern "system" {
@@ -47,7 +46,7 @@ extern "system" {
         lpexistingfilename: PCWSTR,
         lpnewfilename: PCWSTR,
         lpprogressroutine: LPPROGRESS_ROUTINE,
-        lpdata: *const ::core::ffi::c_void,
+        lpdata: *const core::ffi::c_void,
         pbcancel: *mut BOOL,
         dwcopyflags: u32,
     ) -> BOOL;
@@ -110,7 +109,7 @@ extern "system" {
         lpthreadattributes: *const SECURITY_ATTRIBUTES,
         binherithandles: BOOL,
         dwcreationflags: PROCESS_CREATION_FLAGS,
-        lpenvironment: *const ::core::ffi::c_void,
+        lpenvironment: *const core::ffi::c_void,
         lpcurrentdirectory: PCWSTR,
         lpstartupinfo: *const STARTUPINFOW,
         lpprocessinformation: *mut PROCESS_INFORMATION,
@@ -130,7 +129,7 @@ extern "system" {
         lpthreadattributes: *const SECURITY_ATTRIBUTES,
         dwstacksize: usize,
         lpstartaddress: LPTHREAD_START_ROUTINE,
-        lpparameter: *const ::core::ffi::c_void,
+        lpparameter: *const core::ffi::c_void,
         dwcreationflags: THREAD_CREATION_FLAGS,
         lpthreadid: *mut u32,
     ) -> HANDLE;
@@ -150,16 +149,16 @@ extern "system" {
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn DeleteProcThreadAttributeList(lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST) -> ();
+    pub fn DeleteProcThreadAttributeList(lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST);
 }
 #[link(name = "kernel32")]
 extern "system" {
     pub fn DeviceIoControl(
         hdevice: HANDLE,
         dwiocontrolcode: u32,
-        lpinbuffer: *const ::core::ffi::c_void,
+        lpinbuffer: *const core::ffi::c_void,
         ninbuffersize: u32,
-        lpoutbuffer: *mut ::core::ffi::c_void,
+        lpoutbuffer: *mut core::ffi::c_void,
         noutbuffersize: u32,
         lpbytesreturned: *mut u32,
         lpoverlapped: *mut OVERLAPPED,
@@ -201,7 +200,7 @@ extern "system" {
 extern "system" {
     pub fn FormatMessageW(
         dwflags: FORMAT_MESSAGE_OPTIONS,
-        lpsource: *const ::core::ffi::c_void,
+        lpsource: *const core::ffi::c_void,
         dwmessageid: u32,
         dwlanguageid: u32,
         lpbuffer: PWSTR,
@@ -269,7 +268,7 @@ extern "system" {
     pub fn GetFileInformationByHandleEx(
         hfile: HANDLE,
         fileinformationclass: FILE_INFO_BY_HANDLE_CLASS,
-        lpfileinformation: *mut ::core::ffi::c_void,
+        lpfileinformation: *mut core::ffi::c_void,
         dwbuffersize: u32,
     ) -> BOOL;
 }
@@ -338,11 +337,11 @@ extern "system" {
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn GetSystemInfo(lpsysteminfo: *mut SYSTEM_INFO) -> ();
+    pub fn GetSystemInfo(lpsysteminfo: *mut SYSTEM_INFO);
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn GetSystemTimeAsFileTime(lpsystemtimeasfiletime: *mut FILETIME) -> ();
+    pub fn GetSystemTimeAsFileTime(lpsystemtimeasfiletime: *mut FILETIME);
 }
 #[link(name = "kernel32")]
 extern "system" {
@@ -362,7 +361,7 @@ extern "system" {
         lpinitonce: *mut INIT_ONCE,
         dwflags: u32,
         fpending: *mut BOOL,
-        lpcontext: *mut *mut ::core::ffi::c_void,
+        lpcontext: *mut *mut core::ffi::c_void,
     ) -> BOOL;
 }
 #[link(name = "kernel32")]
@@ -370,7 +369,7 @@ extern "system" {
     pub fn InitOnceComplete(
         lpinitonce: *mut INIT_ONCE,
         dwflags: u32,
-        lpcontext: *const ::core::ffi::c_void,
+        lpcontext: *const core::ffi::c_void,
     ) -> BOOL;
 }
 #[link(name = "kernel32")]
@@ -417,7 +416,7 @@ extern "system" {
 extern "system" {
     pub fn ReadConsoleW(
         hconsoleinput: HANDLE,
-        lpbuffer: *mut ::core::ffi::c_void,
+        lpbuffer: *mut core::ffi::c_void,
         nnumberofcharstoread: u32,
         lpnumberofcharsread: *mut u32,
         pinputcontrol: *const CONSOLE_READCONSOLE_CONTROL,
@@ -445,11 +444,11 @@ extern "system" {
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn ReleaseSRWLockExclusive(srwlock: *mut SRWLOCK) -> ();
+    pub fn ReleaseSRWLockExclusive(srwlock: *mut SRWLOCK);
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn ReleaseSRWLockShared(srwlock: *mut SRWLOCK) -> ();
+    pub fn ReleaseSRWLockShared(srwlock: *mut SRWLOCK);
 }
 #[link(name = "kernel32")]
 extern "system" {
@@ -475,7 +474,7 @@ extern "system" {
     pub fn SetFileInformationByHandle(
         hfile: HANDLE,
         fileinformationclass: FILE_INFO_BY_HANDLE_CLASS,
-        lpfileinformation: *const ::core::ffi::c_void,
+        lpfileinformation: *const core::ffi::c_void,
         dwbuffersize: u32,
     ) -> BOOL;
 }
@@ -503,7 +502,7 @@ extern "system" {
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn SetLastError(dwerrcode: WIN32_ERROR) -> ();
+    pub fn SetLastError(dwerrcode: WIN32_ERROR);
 }
 #[link(name = "kernel32")]
 extern "system" {
@@ -516,13 +515,13 @@ extern "system" {
         lpduetime: *const i64,
         lperiod: i32,
         pfncompletionroutine: PTIMERAPCROUTINE,
-        lpargtocompletionroutine: *const ::core::ffi::c_void,
+        lpargtocompletionroutine: *const core::ffi::c_void,
         fresume: BOOL,
     ) -> BOOL;
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn Sleep(dwmilliseconds: u32) -> ();
+    pub fn Sleep(dwmilliseconds: u32);
 }
 #[link(name = "kernel32")]
 extern "system" {
@@ -555,11 +554,11 @@ extern "system" {
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn TlsGetValue(dwtlsindex: u32) -> *mut ::core::ffi::c_void;
+    pub fn TlsGetValue(dwtlsindex: u32) -> *mut core::ffi::c_void;
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn TlsSetValue(dwtlsindex: u32, lptlsvalue: *const ::core::ffi::c_void) -> BOOL;
+    pub fn TlsSetValue(dwtlsindex: u32, lptlsvalue: *const core::ffi::c_void) -> BOOL;
 }
 #[link(name = "kernel32")]
 extern "system" {
@@ -575,9 +574,9 @@ extern "system" {
         lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST,
         dwflags: u32,
         attribute: usize,
-        lpvalue: *const ::core::ffi::c_void,
+        lpvalue: *const core::ffi::c_void,
         cbsize: usize,
-        lppreviousvalue: *mut ::core::ffi::c_void,
+        lppreviousvalue: *mut core::ffi::c_void,
         lpreturnsize: *const usize,
     ) -> BOOL;
 }
@@ -596,11 +595,11 @@ extern "system" {
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn WakeAllConditionVariable(conditionvariable: *mut CONDITION_VARIABLE) -> ();
+    pub fn WakeAllConditionVariable(conditionvariable: *mut CONDITION_VARIABLE);
 }
 #[link(name = "kernel32")]
 extern "system" {
-    pub fn WakeConditionVariable(conditionvariable: *mut CONDITION_VARIABLE) -> ();
+    pub fn WakeConditionVariable(conditionvariable: *mut CONDITION_VARIABLE);
 }
 #[link(name = "kernel32")]
 extern "system" {
@@ -619,10 +618,10 @@ extern "system" {
 extern "system" {
     pub fn WriteConsoleW(
         hconsoleoutput: HANDLE,
-        lpbuffer: *const ::core::ffi::c_void,
+        lpbuffer: *const core::ffi::c_void,
         nnumberofcharstowrite: u32,
         lpnumberofcharswritten: *mut u32,
-        lpreserved: *const ::core::ffi::c_void,
+        lpreserved: *const core::ffi::c_void,
     ) -> BOOL;
 }
 #[link(name = "kernel32")]
@@ -647,7 +646,7 @@ extern "system" {
         shareaccess: FILE_SHARE_MODE,
         createdisposition: NTCREATEFILE_CREATE_DISPOSITION,
         createoptions: NTCREATEFILE_CREATE_OPTIONS,
-        eabuffer: *const ::core::ffi::c_void,
+        eabuffer: *const core::ffi::c_void,
         ealength: u32,
     ) -> NTSTATUS;
 }
@@ -657,9 +656,9 @@ extern "system" {
         filehandle: HANDLE,
         event: HANDLE,
         apcroutine: PIO_APC_ROUTINE,
-        apccontext: *const ::core::ffi::c_void,
+        apccontext: *const core::ffi::c_void,
         iostatusblock: *mut IO_STATUS_BLOCK,
-        buffer: *mut ::core::ffi::c_void,
+        buffer: *mut core::ffi::c_void,
         length: u32,
         byteoffset: *const i64,
         key: *const u32,
@@ -671,9 +670,9 @@ extern "system" {
         filehandle: HANDLE,
         event: HANDLE,
         apcroutine: PIO_APC_ROUTINE,
-        apccontext: *const ::core::ffi::c_void,
+        apccontext: *const core::ffi::c_void,
         iostatusblock: *mut IO_STATUS_BLOCK,
-        buffer: *const ::core::ffi::c_void,
+        buffer: *const core::ffi::c_void,
         length: u32,
         byteoffset: *const i64,
         key: *const u32,
@@ -760,7 +759,7 @@ extern "system" {
 }
 #[link(name = "ws2_32")]
 extern "system" {
-    pub fn freeaddrinfo(paddrinfo: *const ADDRINFOA) -> ();
+    pub fn freeaddrinfo(paddrinfo: *const ADDRINFOA);
 }
 #[link(name = "ws2_32")]
 extern "system" {
@@ -852,8 +851,8 @@ pub struct ADDRINFOA {
     pub ai_addr: *mut SOCKADDR,
     pub ai_next: *mut ADDRINFOA,
 }
-impl ::core::marker::Copy for ADDRINFOA {}
-impl ::core::clone::Clone for ADDRINFOA {
+impl Copy for ADDRINFOA {}
+impl Clone for ADDRINFOA {
     fn clone(&self) -> Self {
         *self
     }
@@ -871,8 +870,8 @@ pub union ARM64_NT_NEON128 {
     pub H: [u16; 8],
     pub B: [u8; 16],
 }
-impl ::core::marker::Copy for ARM64_NT_NEON128 {}
-impl ::core::clone::Clone for ARM64_NT_NEON128 {
+impl Copy for ARM64_NT_NEON128 {}
+impl Clone for ARM64_NT_NEON128 {
     fn clone(&self) -> Self {
         *self
     }
@@ -882,8 +881,8 @@ pub struct ARM64_NT_NEON128_0 {
     pub Low: u64,
     pub High: i64,
 }
-impl ::core::marker::Copy for ARM64_NT_NEON128_0 {}
-impl ::core::clone::Clone for ARM64_NT_NEON128_0 {
+impl Copy for ARM64_NT_NEON128_0 {}
+impl Clone for ARM64_NT_NEON128_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -904,8 +903,8 @@ pub struct BY_HANDLE_FILE_INFORMATION {
     pub nFileIndexHigh: u32,
     pub nFileIndexLow: u32,
 }
-impl ::core::marker::Copy for BY_HANDLE_FILE_INFORMATION {}
-impl ::core::clone::Clone for BY_HANDLE_FILE_INFORMATION {
+impl Copy for BY_HANDLE_FILE_INFORMATION {}
+impl Clone for BY_HANDLE_FILE_INFORMATION {
     fn clone(&self) -> Self {
         *self
     }
@@ -915,10 +914,10 @@ pub const CALLBACK_STREAM_SWITCH: LPPROGRESS_ROUTINE_CALLBACK_REASON = 1u32;
 pub type COMPARESTRING_RESULT = i32;
 #[repr(C)]
 pub struct CONDITION_VARIABLE {
-    pub Ptr: *mut ::core::ffi::c_void,
+    pub Ptr: *mut core::ffi::c_void,
 }
-impl ::core::marker::Copy for CONDITION_VARIABLE {}
-impl ::core::clone::Clone for CONDITION_VARIABLE {
+impl Copy for CONDITION_VARIABLE {}
+impl Clone for CONDITION_VARIABLE {
     fn clone(&self) -> Self {
         *self
     }
@@ -931,8 +930,8 @@ pub struct CONSOLE_READCONSOLE_CONTROL {
     pub dwCtrlWakeupMask: u32,
     pub dwControlKeyState: u32,
 }
-impl ::core::marker::Copy for CONSOLE_READCONSOLE_CONTROL {}
-impl ::core::clone::Clone for CONSOLE_READCONSOLE_CONTROL {
+impl Copy for CONSOLE_READCONSOLE_CONTROL {}
+impl Clone for CONSOLE_READCONSOLE_CONTROL {
     fn clone(&self) -> Self {
         *self
     }
@@ -954,9 +953,9 @@ pub struct CONTEXT {
     pub Wvr: [u64; 2],
 }
 #[cfg(target_arch = "aarch64")]
-impl ::core::marker::Copy for CONTEXT {}
+impl Copy for CONTEXT {}
 #[cfg(target_arch = "aarch64")]
-impl ::core::clone::Clone for CONTEXT {
+impl Clone for CONTEXT {
     fn clone(&self) -> Self {
         *self
     }
@@ -968,9 +967,9 @@ pub union CONTEXT_0 {
     pub X: [u64; 31],
 }
 #[cfg(target_arch = "aarch64")]
-impl ::core::marker::Copy for CONTEXT_0 {}
+impl Copy for CONTEXT_0 {}
 #[cfg(target_arch = "aarch64")]
-impl ::core::clone::Clone for CONTEXT_0 {
+impl Clone for CONTEXT_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -1011,9 +1010,9 @@ pub struct CONTEXT_0_0 {
     pub Lr: u64,
 }
 #[cfg(target_arch = "aarch64")]
-impl ::core::marker::Copy for CONTEXT_0_0 {}
+impl Copy for CONTEXT_0_0 {}
 #[cfg(target_arch = "aarch64")]
-impl ::core::clone::Clone for CONTEXT_0_0 {
+impl Clone for CONTEXT_0_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -1069,9 +1068,9 @@ pub struct CONTEXT {
     pub LastExceptionFromRip: u64,
 }
 #[cfg(target_arch = "x86_64")]
-impl ::core::marker::Copy for CONTEXT {}
+impl Copy for CONTEXT {}
 #[cfg(target_arch = "x86_64")]
-impl ::core::clone::Clone for CONTEXT {
+impl Clone for CONTEXT {
     fn clone(&self) -> Self {
         *self
     }
@@ -1083,9 +1082,9 @@ pub union CONTEXT_0 {
     pub Anonymous: CONTEXT_0_0,
 }
 #[cfg(target_arch = "x86_64")]
-impl ::core::marker::Copy for CONTEXT_0 {}
+impl Copy for CONTEXT_0 {}
 #[cfg(target_arch = "x86_64")]
-impl ::core::clone::Clone for CONTEXT_0 {
+impl Clone for CONTEXT_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -1113,9 +1112,9 @@ pub struct CONTEXT_0_0 {
     pub Xmm15: M128A,
 }
 #[cfg(target_arch = "x86_64")]
-impl ::core::marker::Copy for CONTEXT_0_0 {}
+impl Copy for CONTEXT_0_0 {}
 #[cfg(target_arch = "x86_64")]
-impl ::core::clone::Clone for CONTEXT_0_0 {
+impl Clone for CONTEXT_0_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -1150,9 +1149,9 @@ pub struct CONTEXT {
     pub ExtendedRegisters: [u8; 512],
 }
 #[cfg(target_arch = "x86")]
-impl ::core::marker::Copy for CONTEXT {}
+impl Copy for CONTEXT {}
 #[cfg(target_arch = "x86")]
-impl ::core::clone::Clone for CONTEXT {
+impl Clone for CONTEXT {
     fn clone(&self) -> Self {
         *self
     }
@@ -3073,19 +3072,19 @@ pub struct EXCEPTION_RECORD {
     pub ExceptionCode: NTSTATUS,
     pub ExceptionFlags: u32,
     pub ExceptionRecord: *mut EXCEPTION_RECORD,
-    pub ExceptionAddress: *mut ::core::ffi::c_void,
+    pub ExceptionAddress: *mut core::ffi::c_void,
     pub NumberParameters: u32,
     pub ExceptionInformation: [usize; 15],
 }
-impl ::core::marker::Copy for EXCEPTION_RECORD {}
-impl ::core::clone::Clone for EXCEPTION_RECORD {
+impl Copy for EXCEPTION_RECORD {}
+impl Clone for EXCEPTION_RECORD {
     fn clone(&self) -> Self {
         *self
     }
 }
-pub const EXCEPTION_STACK_OVERFLOW: NTSTATUS = -1073741571i32;
+pub const EXCEPTION_STACK_OVERFLOW: NTSTATUS = 0xC00000FD_u32 as _;
 pub const EXTENDED_STARTUPINFO_PRESENT: PROCESS_CREATION_FLAGS = 524288u32;
-pub const E_NOTIMPL: HRESULT = -2147467263i32;
+pub const E_NOTIMPL: HRESULT = 0x80004001_u32 as _;
 pub const ExceptionCollidedUnwind: EXCEPTION_DISPOSITION = 3i32;
 pub const ExceptionContinueExecution: EXCEPTION_DISPOSITION = 0i32;
 pub const ExceptionContinueSearch: EXCEPTION_DISPOSITION = 1i32;
@@ -3093,15 +3092,15 @@ pub const ExceptionNestedException: EXCEPTION_DISPOSITION = 2i32;
 pub type FACILITY_CODE = u32;
 pub const FACILITY_NT_BIT: FACILITY_CODE = 268435456u32;
 pub const FALSE: BOOL = 0i32;
-pub type FARPROC = ::core::option::Option<unsafe extern "system" fn() -> isize>;
+pub type FARPROC = Option<unsafe extern "system" fn() -> isize>;
 pub const FAST_FAIL_FATAL_APP_EXIT: u32 = 7u32;
 #[repr(C)]
 pub struct FD_SET {
     pub fd_count: u32,
     pub fd_array: [SOCKET; 64],
 }
-impl ::core::marker::Copy for FD_SET {}
-impl ::core::clone::Clone for FD_SET {
+impl Copy for FD_SET {}
+impl Clone for FD_SET {
     fn clone(&self) -> Self {
         *self
     }
@@ -3111,8 +3110,8 @@ pub struct FILETIME {
     pub dwLowDateTime: u32,
     pub dwHighDateTime: u32,
 }
-impl ::core::marker::Copy for FILETIME {}
-impl ::core::clone::Clone for FILETIME {
+impl Copy for FILETIME {}
+impl Clone for FILETIME {
     fn clone(&self) -> Self {
         *self
     }
@@ -3124,8 +3123,8 @@ pub const FILE_ADD_SUBDIRECTORY: FILE_ACCESS_RIGHTS = 4u32;
 pub struct FILE_ALLOCATION_INFO {
     pub AllocationSize: i64,
 }
-impl ::core::marker::Copy for FILE_ALLOCATION_INFO {}
-impl ::core::clone::Clone for FILE_ALLOCATION_INFO {
+impl Copy for FILE_ALLOCATION_INFO {}
+impl Clone for FILE_ALLOCATION_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3156,8 +3155,8 @@ pub struct FILE_ATTRIBUTE_TAG_INFO {
     pub FileAttributes: u32,
     pub ReparseTag: u32,
 }
-impl ::core::marker::Copy for FILE_ATTRIBUTE_TAG_INFO {}
-impl ::core::clone::Clone for FILE_ATTRIBUTE_TAG_INFO {
+impl Copy for FILE_ATTRIBUTE_TAG_INFO {}
+impl Clone for FILE_ATTRIBUTE_TAG_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3173,8 +3172,8 @@ pub struct FILE_BASIC_INFO {
     pub ChangeTime: i64,
     pub FileAttributes: u32,
 }
-impl ::core::marker::Copy for FILE_BASIC_INFO {}
-impl ::core::clone::Clone for FILE_BASIC_INFO {
+impl Copy for FILE_BASIC_INFO {}
+impl Clone for FILE_BASIC_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3201,8 +3200,8 @@ pub const FILE_DISPOSITION_FLAG_POSIX_SEMANTICS: FILE_DISPOSITION_INFO_EX_FLAGS
 pub struct FILE_DISPOSITION_INFO {
     pub DeleteFile: BOOLEAN,
 }
-impl ::core::marker::Copy for FILE_DISPOSITION_INFO {}
-impl ::core::clone::Clone for FILE_DISPOSITION_INFO {
+impl Copy for FILE_DISPOSITION_INFO {}
+impl Clone for FILE_DISPOSITION_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3211,8 +3210,8 @@ impl ::core::clone::Clone for FILE_DISPOSITION_INFO {
 pub struct FILE_DISPOSITION_INFO_EX {
     pub Flags: FILE_DISPOSITION_INFO_EX_FLAGS,
 }
-impl ::core::marker::Copy for FILE_DISPOSITION_INFO_EX {}
-impl ::core::clone::Clone for FILE_DISPOSITION_INFO_EX {
+impl Copy for FILE_DISPOSITION_INFO_EX {}
+impl Clone for FILE_DISPOSITION_INFO_EX {
     fn clone(&self) -> Self {
         *self
     }
@@ -3223,8 +3222,8 @@ pub const FILE_END: SET_FILE_POINTER_MOVE_METHOD = 2u32;
 pub struct FILE_END_OF_FILE_INFO {
     pub EndOfFile: i64,
 }
-impl ::core::marker::Copy for FILE_END_OF_FILE_INFO {}
-impl ::core::clone::Clone for FILE_END_OF_FILE_INFO {
+impl Copy for FILE_END_OF_FILE_INFO {}
+impl Clone for FILE_END_OF_FILE_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3264,8 +3263,8 @@ pub struct FILE_ID_BOTH_DIR_INFO {
     pub FileId: i64,
     pub FileName: [u16; 1],
 }
-impl ::core::marker::Copy for FILE_ID_BOTH_DIR_INFO {}
-impl ::core::clone::Clone for FILE_ID_BOTH_DIR_INFO {
+impl Copy for FILE_ID_BOTH_DIR_INFO {}
+impl Clone for FILE_ID_BOTH_DIR_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3275,8 +3274,8 @@ pub type FILE_INFO_BY_HANDLE_CLASS = i32;
 pub struct FILE_IO_PRIORITY_HINT_INFO {
     pub PriorityHint: PRIORITY_HINT,
 }
-impl ::core::marker::Copy for FILE_IO_PRIORITY_HINT_INFO {}
-impl ::core::clone::Clone for FILE_IO_PRIORITY_HINT_INFO {
+impl Copy for FILE_IO_PRIORITY_HINT_INFO {}
+impl Clone for FILE_IO_PRIORITY_HINT_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3318,8 +3317,8 @@ pub struct FILE_STANDARD_INFO {
     pub DeletePending: BOOLEAN,
     pub Directory: BOOLEAN,
 }
-impl ::core::marker::Copy for FILE_STANDARD_INFO {}
-impl ::core::clone::Clone for FILE_STANDARD_INFO {
+impl Copy for FILE_STANDARD_INFO {}
+impl Clone for FILE_STANDARD_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3353,9 +3352,9 @@ pub struct FLOATING_SAVE_AREA {
     pub Cr0NpxState: u32,
 }
 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
-impl ::core::marker::Copy for FLOATING_SAVE_AREA {}
+impl Copy for FLOATING_SAVE_AREA {}
 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
-impl ::core::clone::Clone for FLOATING_SAVE_AREA {
+impl Clone for FLOATING_SAVE_AREA {
     fn clone(&self) -> Self {
         *self
     }
@@ -3374,9 +3373,9 @@ pub struct FLOATING_SAVE_AREA {
     pub Spare0: u32,
 }
 #[cfg(target_arch = "x86")]
-impl ::core::marker::Copy for FLOATING_SAVE_AREA {}
+impl Copy for FLOATING_SAVE_AREA {}
 #[cfg(target_arch = "x86")]
-impl ::core::clone::Clone for FLOATING_SAVE_AREA {
+impl Clone for FLOATING_SAVE_AREA {
     fn clone(&self) -> Self {
         *self
     }
@@ -3429,8 +3428,8 @@ pub struct GUID {
     pub data3: u16,
     pub data4: [u8; 8],
 }
-impl ::core::marker::Copy for GUID {}
-impl ::core::clone::Clone for GUID {
+impl Copy for GUID {}
+impl Clone for GUID {
     fn clone(&self) -> Self {
         *self
     }
@@ -3445,21 +3444,21 @@ impl GUID {
         }
     }
 }
-pub type HANDLE = *mut ::core::ffi::c_void;
+pub type HANDLE = *mut core::ffi::c_void;
 pub type HANDLE_FLAGS = u32;
 pub const HANDLE_FLAG_INHERIT: HANDLE_FLAGS = 1u32;
 pub const HANDLE_FLAG_PROTECT_FROM_CLOSE: HANDLE_FLAGS = 2u32;
 pub const HIGH_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = 128u32;
-pub type HLOCAL = *mut ::core::ffi::c_void;
-pub type HMODULE = *mut ::core::ffi::c_void;
+pub type HLOCAL = *mut core::ffi::c_void;
+pub type HMODULE = *mut core::ffi::c_void;
 pub type HRESULT = i32;
 pub const IDLE_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = 64u32;
 #[repr(C)]
 pub struct IN6_ADDR {
     pub u: IN6_ADDR_0,
 }
-impl ::core::marker::Copy for IN6_ADDR {}
-impl ::core::clone::Clone for IN6_ADDR {
+impl Copy for IN6_ADDR {}
+impl Clone for IN6_ADDR {
     fn clone(&self) -> Self {
         *self
     }
@@ -3469,8 +3468,8 @@ pub union IN6_ADDR_0 {
     pub Byte: [u8; 16],
     pub Word: [u16; 8],
 }
-impl ::core::marker::Copy for IN6_ADDR_0 {}
-impl ::core::clone::Clone for IN6_ADDR_0 {
+impl Copy for IN6_ADDR_0 {}
+impl Clone for IN6_ADDR_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -3480,10 +3479,10 @@ pub const INHERIT_CALLER_PRIORITY: PROCESS_CREATION_FLAGS = 131072u32;
 pub const INHERIT_PARENT_AFFINITY: PROCESS_CREATION_FLAGS = 65536u32;
 #[repr(C)]
 pub union INIT_ONCE {
-    pub Ptr: *mut ::core::ffi::c_void,
+    pub Ptr: *mut core::ffi::c_void,
 }
-impl ::core::marker::Copy for INIT_ONCE {}
-impl ::core::clone::Clone for INIT_ONCE {
+impl Copy for INIT_ONCE {}
+impl Clone for INIT_ONCE {
     fn clone(&self) -> Self {
         *self
     }
@@ -3495,8 +3494,8 @@ pub const INVALID_SOCKET: SOCKET = -1i32 as _;
 pub struct IN_ADDR {
     pub S_un: IN_ADDR_0,
 }
-impl ::core::marker::Copy for IN_ADDR {}
-impl ::core::clone::Clone for IN_ADDR {
+impl Copy for IN_ADDR {}
+impl Clone for IN_ADDR {
     fn clone(&self) -> Self {
         *self
     }
@@ -3507,8 +3506,8 @@ pub union IN_ADDR_0 {
     pub S_un_w: IN_ADDR_0_1,
     pub S_addr: u32,
 }
-impl ::core::marker::Copy for IN_ADDR_0 {}
-impl ::core::clone::Clone for IN_ADDR_0 {
+impl Copy for IN_ADDR_0 {}
+impl Clone for IN_ADDR_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -3520,8 +3519,8 @@ pub struct IN_ADDR_0_0 {
     pub s_b3: u8,
     pub s_b4: u8,
 }
-impl ::core::marker::Copy for IN_ADDR_0_0 {}
-impl ::core::clone::Clone for IN_ADDR_0_0 {
+impl Copy for IN_ADDR_0_0 {}
+impl Clone for IN_ADDR_0_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -3531,8 +3530,8 @@ pub struct IN_ADDR_0_1 {
     pub s_w1: u16,
     pub s_w2: u16,
 }
-impl ::core::marker::Copy for IN_ADDR_0_1 {}
-impl ::core::clone::Clone for IN_ADDR_0_1 {
+impl Copy for IN_ADDR_0_1 {}
+impl Clone for IN_ADDR_0_1 {
     fn clone(&self) -> Self {
         *self
     }
@@ -3544,8 +3543,8 @@ pub struct IO_STATUS_BLOCK {
     pub Anonymous: IO_STATUS_BLOCK_0,
     pub Information: usize,
 }
-impl ::core::marker::Copy for IO_STATUS_BLOCK {}
-impl ::core::clone::Clone for IO_STATUS_BLOCK {
+impl Copy for IO_STATUS_BLOCK {}
+impl Clone for IO_STATUS_BLOCK {
     fn clone(&self) -> Self {
         *self
     }
@@ -3553,10 +3552,10 @@ impl ::core::clone::Clone for IO_STATUS_BLOCK {
 #[repr(C)]
 pub union IO_STATUS_BLOCK_0 {
     pub Status: NTSTATUS,
-    pub Pointer: *mut ::core::ffi::c_void,
+    pub Pointer: *mut core::ffi::c_void,
 }
-impl ::core::marker::Copy for IO_STATUS_BLOCK_0 {}
-impl ::core::clone::Clone for IO_STATUS_BLOCK_0 {
+impl Copy for IO_STATUS_BLOCK_0 {}
+impl Clone for IO_STATUS_BLOCK_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -3606,8 +3605,8 @@ pub struct IPV6_MREQ {
     pub ipv6mr_multiaddr: IN6_ADDR,
     pub ipv6mr_interface: u32,
 }
-impl ::core::marker::Copy for IPV6_MREQ {}
-impl ::core::clone::Clone for IPV6_MREQ {
+impl Copy for IPV6_MREQ {}
+impl Clone for IPV6_MREQ {
     fn clone(&self) -> Self {
         *self
     }
@@ -3621,8 +3620,8 @@ pub struct IP_MREQ {
     pub imr_multiaddr: IN_ADDR,
     pub imr_interface: IN_ADDR,
 }
-impl ::core::marker::Copy for IP_MREQ {}
-impl ::core::clone::Clone for IP_MREQ {
+impl Copy for IP_MREQ {}
+impl Clone for IP_MREQ {
     fn clone(&self) -> Self {
         *self
     }
@@ -3635,21 +3634,21 @@ pub struct LINGER {
     pub l_onoff: u16,
     pub l_linger: u16,
 }
-impl ::core::marker::Copy for LINGER {}
-impl ::core::clone::Clone for LINGER {
+impl Copy for LINGER {}
+impl Clone for LINGER {
     fn clone(&self) -> Self {
         *self
     }
 }
-pub type LPOVERLAPPED_COMPLETION_ROUTINE = ::core::option::Option<
+pub type LPOVERLAPPED_COMPLETION_ROUTINE = Option<
     unsafe extern "system" fn(
         dwerrorcode: u32,
         dwnumberofbytestransfered: u32,
         lpoverlapped: *mut OVERLAPPED,
-    ) -> (),
+    ),
 >;
-pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut ::core::ffi::c_void;
-pub type LPPROGRESS_ROUTINE = ::core::option::Option<
+pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut core::ffi::c_void;
+pub type LPPROGRESS_ROUTINE = Option<
     unsafe extern "system" fn(
         totalfilesize: i64,
         totalbytestransferred: i64,
@@ -3659,28 +3658,27 @@ pub type LPPROGRESS_ROUTINE = ::core::option::Option<
         dwcallbackreason: LPPROGRESS_ROUTINE_CALLBACK_REASON,
         hsourcefile: HANDLE,
         hdestinationfile: HANDLE,
-        lpdata: *const ::core::ffi::c_void,
+        lpdata: *const core::ffi::c_void,
     ) -> u32,
 >;
 pub type LPPROGRESS_ROUTINE_CALLBACK_REASON = u32;
-pub type LPTHREAD_START_ROUTINE = ::core::option::Option<
-    unsafe extern "system" fn(lpthreadparameter: *mut ::core::ffi::c_void) -> u32,
->;
-pub type LPWSAOVERLAPPED_COMPLETION_ROUTINE = ::core::option::Option<
+pub type LPTHREAD_START_ROUTINE =
+    Option<unsafe extern "system" fn(lpthreadparameter: *mut core::ffi::c_void) -> u32>;
+pub type LPWSAOVERLAPPED_COMPLETION_ROUTINE = Option<
     unsafe extern "system" fn(
         dwerror: u32,
         cbtransferred: u32,
         lpoverlapped: *mut OVERLAPPED,
         dwflags: u32,
-    ) -> (),
+    ),
 >;
 #[repr(C)]
 pub struct M128A {
     pub Low: u64,
     pub High: i64,
 }
-impl ::core::marker::Copy for M128A {}
-impl ::core::clone::Clone for M128A {
+impl Copy for M128A {}
+impl Clone for M128A {
     fn clone(&self) -> Self {
         *self
     }
@@ -3717,11 +3715,11 @@ pub struct OBJECT_ATTRIBUTES {
     pub RootDirectory: HANDLE,
     pub ObjectName: *const UNICODE_STRING,
     pub Attributes: u32,
-    pub SecurityDescriptor: *const ::core::ffi::c_void,
-    pub SecurityQualityOfService: *const ::core::ffi::c_void,
+    pub SecurityDescriptor: *const core::ffi::c_void,
+    pub SecurityQualityOfService: *const core::ffi::c_void,
 }
-impl ::core::marker::Copy for OBJECT_ATTRIBUTES {}
-impl ::core::clone::Clone for OBJECT_ATTRIBUTES {
+impl Copy for OBJECT_ATTRIBUTES {}
+impl Clone for OBJECT_ATTRIBUTES {
     fn clone(&self) -> Self {
         *self
     }
@@ -3736,8 +3734,8 @@ pub struct OVERLAPPED {
     pub Anonymous: OVERLAPPED_0,
     pub hEvent: HANDLE,
 }
-impl ::core::marker::Copy for OVERLAPPED {}
-impl ::core::clone::Clone for OVERLAPPED {
+impl Copy for OVERLAPPED {}
+impl Clone for OVERLAPPED {
     fn clone(&self) -> Self {
         *self
     }
@@ -3745,10 +3743,10 @@ impl ::core::clone::Clone for OVERLAPPED {
 #[repr(C)]
 pub union OVERLAPPED_0 {
     pub Anonymous: OVERLAPPED_0_0,
-    pub Pointer: *mut ::core::ffi::c_void,
+    pub Pointer: *mut core::ffi::c_void,
 }
-impl ::core::marker::Copy for OVERLAPPED_0 {}
-impl ::core::clone::Clone for OVERLAPPED_0 {
+impl Copy for OVERLAPPED_0 {}
+impl Clone for OVERLAPPED_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -3758,20 +3756,20 @@ pub struct OVERLAPPED_0_0 {
     pub Offset: u32,
     pub OffsetHigh: u32,
 }
-impl ::core::marker::Copy for OVERLAPPED_0_0 {}
-impl ::core::clone::Clone for OVERLAPPED_0_0 {
+impl Copy for OVERLAPPED_0_0 {}
+impl Clone for OVERLAPPED_0_0 {
     fn clone(&self) -> Self {
         *self
     }
 }
 pub type PCSTR = *const u8;
 pub type PCWSTR = *const u16;
-pub type PIO_APC_ROUTINE = ::core::option::Option<
+pub type PIO_APC_ROUTINE = Option<
     unsafe extern "system" fn(
-        apccontext: *mut ::core::ffi::c_void,
+        apccontext: *mut core::ffi::c_void,
         iostatusblock: *mut IO_STATUS_BLOCK,
         reserved: u32,
-    ) -> (),
+    ),
 >;
 pub const PIPE_ACCEPT_REMOTE_CLIENTS: NAMED_PIPE_MODE = 0u32;
 pub const PIPE_ACCESS_DUPLEX: FILE_FLAGS_AND_ATTRIBUTES = 3u32;
@@ -3796,8 +3794,8 @@ pub struct PROCESS_INFORMATION {
     pub dwProcessId: u32,
     pub dwThreadId: u32,
 }
-impl ::core::marker::Copy for PROCESS_INFORMATION {}
-impl ::core::clone::Clone for PROCESS_INFORMATION {
+impl Copy for PROCESS_INFORMATION {}
+impl Clone for PROCESS_INFORMATION {
     fn clone(&self) -> Self {
         *self
     }
@@ -3809,12 +3807,12 @@ pub const PROFILE_SERVER: PROCESS_CREATION_FLAGS = 1073741824u32;
 pub const PROFILE_USER: PROCESS_CREATION_FLAGS = 268435456u32;
 pub const PROGRESS_CONTINUE: u32 = 0u32;
 pub type PSTR = *mut u8;
-pub type PTIMERAPCROUTINE = ::core::option::Option<
+pub type PTIMERAPCROUTINE = Option<
     unsafe extern "system" fn(
-        lpargtocompletionroutine: *const ::core::ffi::c_void,
+        lpargtocompletionroutine: *const core::ffi::c_void,
         dwtimerlowvalue: u32,
         dwtimerhighvalue: u32,
-    ) -> (),
+    ),
 >;
 pub type PWSTR = *mut u16;
 pub const READ_CONTROL: FILE_ACCESS_RIGHTS = 131072u32;
@@ -3826,11 +3824,11 @@ pub const SECURITY_ANONYMOUS: FILE_FLAGS_AND_ATTRIBUTES = 0u32;
 #[repr(C)]
 pub struct SECURITY_ATTRIBUTES {
     pub nLength: u32,
-    pub lpSecurityDescriptor: *mut ::core::ffi::c_void,
+    pub lpSecurityDescriptor: *mut core::ffi::c_void,
     pub bInheritHandle: BOOL,
 }
-impl ::core::marker::Copy for SECURITY_ATTRIBUTES {}
-impl ::core::clone::Clone for SECURITY_ATTRIBUTES {
+impl Copy for SECURITY_ATTRIBUTES {}
+impl Clone for SECURITY_ATTRIBUTES {
     fn clone(&self) -> Self {
         *self
     }
@@ -3847,10 +3845,10 @@ pub type SET_FILE_POINTER_MOVE_METHOD = u32;
 #[repr(C)]
 pub struct SOCKADDR {
     pub sa_family: ADDRESS_FAMILY,
-    pub sa_data: [u8; 14],
+    pub sa_data: [i8; 14],
 }
-impl ::core::marker::Copy for SOCKADDR {}
-impl ::core::clone::Clone for SOCKADDR {
+impl Copy for SOCKADDR {}
+impl Clone for SOCKADDR {
     fn clone(&self) -> Self {
         *self
     }
@@ -3858,10 +3856,10 @@ impl ::core::clone::Clone for SOCKADDR {
 #[repr(C)]
 pub struct SOCKADDR_UN {
     pub sun_family: ADDRESS_FAMILY,
-    pub sun_path: [u8; 108],
+    pub sun_path: [i8; 108],
 }
-impl ::core::marker::Copy for SOCKADDR_UN {}
-impl ::core::clone::Clone for SOCKADDR_UN {
+impl Copy for SOCKADDR_UN {}
+impl Clone for SOCKADDR_UN {
     fn clone(&self) -> Self {
         *self
     }
@@ -3882,10 +3880,10 @@ pub const SO_SNDTIMEO: i32 = 4101i32;
 pub const SPECIFIC_RIGHTS_ALL: FILE_ACCESS_RIGHTS = 65535u32;
 #[repr(C)]
 pub struct SRWLOCK {
-    pub Ptr: *mut ::core::ffi::c_void,
+    pub Ptr: *mut core::ffi::c_void,
 }
-impl ::core::marker::Copy for SRWLOCK {}
-impl ::core::clone::Clone for SRWLOCK {
+impl Copy for SRWLOCK {}
+impl Clone for SRWLOCK {
     fn clone(&self) -> Self {
         *self
     }
@@ -3915,8 +3913,8 @@ pub struct STARTUPINFOEXW {
     pub StartupInfo: STARTUPINFOW,
     pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST,
 }
-impl ::core::marker::Copy for STARTUPINFOEXW {}
-impl ::core::clone::Clone for STARTUPINFOEXW {
+impl Copy for STARTUPINFOEXW {}
+impl Clone for STARTUPINFOEXW {
     fn clone(&self) -> Self {
         *self
     }
@@ -3942,19 +3940,19 @@ pub struct STARTUPINFOW {
     pub hStdOutput: HANDLE,
     pub hStdError: HANDLE,
 }
-impl ::core::marker::Copy for STARTUPINFOW {}
-impl ::core::clone::Clone for STARTUPINFOW {
+impl Copy for STARTUPINFOW {}
+impl Clone for STARTUPINFOW {
     fn clone(&self) -> Self {
         *self
     }
 }
 pub type STARTUPINFOW_FLAGS = u32;
-pub const STATUS_DELETE_PENDING: NTSTATUS = -1073741738i32;
-pub const STATUS_END_OF_FILE: NTSTATUS = -1073741807i32;
-pub const STATUS_INVALID_PARAMETER: NTSTATUS = -1073741811i32;
-pub const STATUS_NOT_IMPLEMENTED: NTSTATUS = -1073741822i32;
-pub const STATUS_PENDING: NTSTATUS = 259i32;
-pub const STATUS_SUCCESS: NTSTATUS = 0i32;
+pub const STATUS_DELETE_PENDING: NTSTATUS = 0xC0000056_u32 as _;
+pub const STATUS_END_OF_FILE: NTSTATUS = 0xC0000011_u32 as _;
+pub const STATUS_INVALID_PARAMETER: NTSTATUS = 0xC000000D_u32 as _;
+pub const STATUS_NOT_IMPLEMENTED: NTSTATUS = 0xC0000002_u32 as _;
+pub const STATUS_PENDING: NTSTATUS = 0x103_u32 as _;
+pub const STATUS_SUCCESS: NTSTATUS = 0x0_u32 as _;
 pub const STD_ERROR_HANDLE: STD_HANDLE = 4294967284u32;
 pub type STD_HANDLE = u32;
 pub const STD_INPUT_HANDLE: STD_HANDLE = 4294967286u32;
@@ -3969,8 +3967,8 @@ pub const SYNCHRONIZE: FILE_ACCESS_RIGHTS = 1048576u32;
 pub struct SYSTEM_INFO {
     pub Anonymous: SYSTEM_INFO_0,
     pub dwPageSize: u32,
-    pub lpMinimumApplicationAddress: *mut ::core::ffi::c_void,
-    pub lpMaximumApplicationAddress: *mut ::core::ffi::c_void,
+    pub lpMinimumApplicationAddress: *mut core::ffi::c_void,
+    pub lpMaximumApplicationAddress: *mut core::ffi::c_void,
     pub dwActiveProcessorMask: usize,
     pub dwNumberOfProcessors: u32,
     pub dwProcessorType: u32,
@@ -3978,8 +3976,8 @@ pub struct SYSTEM_INFO {
     pub wProcessorLevel: u16,
     pub wProcessorRevision: u16,
 }
-impl ::core::marker::Copy for SYSTEM_INFO {}
-impl ::core::clone::Clone for SYSTEM_INFO {
+impl Copy for SYSTEM_INFO {}
+impl Clone for SYSTEM_INFO {
     fn clone(&self) -> Self {
         *self
     }
@@ -3989,8 +3987,8 @@ pub union SYSTEM_INFO_0 {
     pub dwOemId: u32,
     pub Anonymous: SYSTEM_INFO_0_0,
 }
-impl ::core::marker::Copy for SYSTEM_INFO_0 {}
-impl ::core::clone::Clone for SYSTEM_INFO_0 {
+impl Copy for SYSTEM_INFO_0 {}
+impl Clone for SYSTEM_INFO_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -4000,8 +3998,8 @@ pub struct SYSTEM_INFO_0_0 {
     pub wProcessorArchitecture: PROCESSOR_ARCHITECTURE,
     pub wReserved: u16,
 }
-impl ::core::marker::Copy for SYSTEM_INFO_0_0 {}
-impl ::core::clone::Clone for SYSTEM_INFO_0_0 {
+impl Copy for SYSTEM_INFO_0_0 {}
+impl Clone for SYSTEM_INFO_0_0 {
     fn clone(&self) -> Self {
         *self
     }
@@ -4017,8 +4015,8 @@ pub struct TIMEVAL {
     pub tv_sec: i32,
     pub tv_usec: i32,
 }
-impl ::core::marker::Copy for TIMEVAL {}
-impl ::core::clone::Clone for TIMEVAL {
+impl Copy for TIMEVAL {}
+impl Clone for TIMEVAL {
     fn clone(&self) -> Self {
         *self
     }
@@ -4054,8 +4052,8 @@ pub struct UNICODE_STRING {
     pub MaximumLength: u16,
     pub Buffer: PWSTR,
 }
-impl ::core::marker::Copy for UNICODE_STRING {}
-impl ::core::clone::Clone for UNICODE_STRING {
+impl Copy for UNICODE_STRING {}
+impl Clone for UNICODE_STRING {
     fn clone(&self) -> Self {
         *self
     }
@@ -4085,8 +4083,8 @@ pub struct WIN32_FIND_DATAW {
     pub cFileName: [u16; 260],
     pub cAlternateFileName: [u16; 14],
 }
-impl ::core::marker::Copy for WIN32_FIND_DATAW {}
-impl ::core::clone::Clone for WIN32_FIND_DATAW {
+impl Copy for WIN32_FIND_DATAW {}
+impl Clone for WIN32_FIND_DATAW {
     fn clone(&self) -> Self {
         *self
     }
@@ -4101,8 +4099,8 @@ pub struct WSABUF {
     pub len: u32,
     pub buf: PSTR,
 }
-impl ::core::marker::Copy for WSABUF {}
-impl ::core::clone::Clone for WSABUF {
+impl Copy for WSABUF {}
+impl Clone for WSABUF {
     fn clone(&self) -> Self {
         *self
     }
@@ -4115,13 +4113,13 @@ pub struct WSADATA {
     pub iMaxSockets: u16,
     pub iMaxUdpDg: u16,
     pub lpVendorInfo: PSTR,
-    pub szDescription: [u8; 257],
-    pub szSystemStatus: [u8; 129],
+    pub szDescription: [i8; 257],
+    pub szSystemStatus: [i8; 129],
 }
 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
-impl ::core::marker::Copy for WSADATA {}
+impl Copy for WSADATA {}
 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
-impl ::core::clone::Clone for WSADATA {
+impl Clone for WSADATA {
     fn clone(&self) -> Self {
         *self
     }
@@ -4131,16 +4129,16 @@ impl ::core::clone::Clone for WSADATA {
 pub struct WSADATA {
     pub wVersion: u16,
     pub wHighVersion: u16,
-    pub szDescription: [u8; 257],
-    pub szSystemStatus: [u8; 129],
+    pub szDescription: [i8; 257],
+    pub szSystemStatus: [i8; 129],
     pub iMaxSockets: u16,
     pub iMaxUdpDg: u16,
     pub lpVendorInfo: PSTR,
 }
 #[cfg(target_arch = "x86")]
-impl ::core::marker::Copy for WSADATA {}
+impl Copy for WSADATA {}
 #[cfg(target_arch = "x86")]
-impl ::core::clone::Clone for WSADATA {
+impl Clone for WSADATA {
     fn clone(&self) -> Self {
         *self
     }
@@ -4204,8 +4202,8 @@ pub struct WSAPROTOCOLCHAIN {
     pub ChainLen: i32,
     pub ChainEntries: [u32; 7],
 }
-impl ::core::marker::Copy for WSAPROTOCOLCHAIN {}
-impl ::core::clone::Clone for WSAPROTOCOLCHAIN {
+impl Copy for WSAPROTOCOLCHAIN {}
+impl Clone for WSAPROTOCOLCHAIN {
     fn clone(&self) -> Self {
         *self
     }
@@ -4233,8 +4231,8 @@ pub struct WSAPROTOCOL_INFOW {
     pub dwProviderReserved: u32,
     pub szProtocol: [u16; 256],
 }
-impl ::core::marker::Copy for WSAPROTOCOL_INFOW {}
-impl ::core::clone::Clone for WSAPROTOCOL_INFOW {
+impl Copy for WSAPROTOCOL_INFOW {}
+impl Clone for WSAPROTOCOL_INFOW {
     fn clone(&self) -> Self {
         *self
     }
@@ -4308,9 +4306,9 @@ pub struct XSAVE_FORMAT {
     pub Reserved4: [u8; 96],
 }
 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
-impl ::core::marker::Copy for XSAVE_FORMAT {}
+impl Copy for XSAVE_FORMAT {}
 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
-impl ::core::clone::Clone for XSAVE_FORMAT {
+impl Clone for XSAVE_FORMAT {
     fn clone(&self) -> Self {
         *self
     }
@@ -4336,9 +4334,9 @@ pub struct XSAVE_FORMAT {
     pub Reserved4: [u8; 224],
 }
 #[cfg(target_arch = "x86")]
-impl ::core::marker::Copy for XSAVE_FORMAT {}
+impl Copy for XSAVE_FORMAT {}
 #[cfg(target_arch = "x86")]
-impl ::core::clone::Clone for XSAVE_FORMAT {
+impl Clone for XSAVE_FORMAT {
     fn clone(&self) -> Self {
         *self
     }
diff --git a/src/tools/generate-windows-sys/Cargo.toml b/src/tools/generate-windows-sys/Cargo.toml
index d8a7a06efc6..9ea26defdc4 100644
--- a/src/tools/generate-windows-sys/Cargo.toml
+++ b/src/tools/generate-windows-sys/Cargo.toml
@@ -4,4 +4,4 @@ version = "0.1.0"
 edition = "2021"
 
 [dependencies.windows-bindgen]
-version = "0.52.0"
+version = "0.55.0"