diff --git a/crates/libs/metadata/default/Windows.Win32.Interop.winmd b/crates/libs/metadata/default/Windows.Win32.Interop.winmd index ff9da21464..20ad629e7a 100644 Binary files a/crates/libs/metadata/default/Windows.Win32.Interop.winmd and b/crates/libs/metadata/default/Windows.Win32.Interop.winmd differ diff --git a/crates/libs/metadata/default/Windows.Win32.winmd b/crates/libs/metadata/default/Windows.Win32.winmd index 0b2ebf19b9..b4b0bc24dd 100644 Binary files a/crates/libs/metadata/default/Windows.Win32.winmd and b/crates/libs/metadata/default/Windows.Win32.winmd differ diff --git a/crates/libs/metadata/default/readme.md b/crates/libs/metadata/default/readme.md index 1cbb1f357d..1a54d706f5 100644 --- a/crates/libs/metadata/default/readme.md +++ b/crates/libs/metadata/default/readme.md @@ -4,7 +4,7 @@ dependent crate or workspace has an empty or non-existent `.windows/winmd` direc ## Windows.Win32.winmd - Source: https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Metadata/ -- Version: 33.0.18-preview +- Version: 34.0.8-preview ## Windows.winmd - Source: https://www.nuget.org/packages/Microsoft.Windows.SDK.Contracts diff --git a/crates/libs/sys/src/Windows/Win32/Graphics/DirectWrite/mod.rs b/crates/libs/sys/src/Windows/Win32/Graphics/DirectWrite/mod.rs index 089c839cd2..8a48bf4ebf 100644 --- a/crates/libs/sys/src/Windows/Win32/Graphics/DirectWrite/mod.rs +++ b/crates/libs/sys/src/Windows/Win32/Graphics/DirectWrite/mod.rs @@ -1,7 +1,7 @@ #[cfg_attr(windows, link(name = "windows"))] extern "system" { #[doc = "*Required features: `\"Win32_Graphics_DirectWrite\"`*"] - pub fn DWriteCreateFactory(factorytype: DWRITE_FACTORY_TYPE, iid: *const ::windows_sys::core::GUID, factory: *mut ::windows_sys::core::IUnknown) -> ::windows_sys::core::HRESULT; + pub fn DWriteCreateFactory(factorytype: DWRITE_FACTORY_TYPE, iid: *const ::windows_sys::core::GUID, factory: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT; } pub type IDWriteAsyncResult = *mut ::core::ffi::c_void; pub type IDWriteBitmapRenderTarget = *mut ::core::ffi::c_void; diff --git a/crates/libs/sys/src/Windows/Win32/Networking/Ldap/mod.rs b/crates/libs/sys/src/Windows/Win32/Networking/Ldap/mod.rs index c210882d6f..b22862a944 100644 --- a/crates/libs/sys/src/Windows/Win32/Networking/Ldap/mod.rs +++ b/crates/libs/sys/src/Windows/Win32/Networking/Ldap/mod.rs @@ -2,8 +2,9 @@ extern "cdecl" { #[doc = "*Required features: `\"Win32_Networking_Ldap\"`*"] pub fn LdapGetLastError() -> u32; - #[doc = "*Required features: `\"Win32_Networking_Ldap\"`*"] - pub fn LdapMapErrorToWin32(ldaperror: u32) -> u32; + #[doc = "*Required features: `\"Win32_Networking_Ldap\"`, `\"Win32_Foundation\"`*"] + #[cfg(feature = "Win32_Foundation")] + pub fn LdapMapErrorToWin32(ldaperror: LDAP_RETCODE) -> super::super::Foundation::WIN32_ERROR; #[doc = "*Required features: `\"Win32_Networking_Ldap\"`*"] pub fn LdapUTF8ToUnicode(lpsrcstr: ::windows_sys::core::PCSTR, cchsrc: i32, lpdeststr: ::windows_sys::core::PWSTR, cchdest: i32) -> i32; #[doc = "*Required features: `\"Win32_Networking_Ldap\"`*"] diff --git a/crates/libs/sys/src/Windows/Win32/System/Wmi/mod.rs b/crates/libs/sys/src/Windows/Win32/System/Wmi/mod.rs index e8d5674e7e..2af7c63c8f 100644 --- a/crates/libs/sys/src/Windows/Win32/System/Wmi/mod.rs +++ b/crates/libs/sys/src/Windows/Win32/System/Wmi/mod.rs @@ -227,6 +227,10 @@ pub const WBEMS_DISPID_OBJECT_PUT: u32 = 4u32; pub const WBEMS_DISPID_OBJECT_READY: u32 = 1u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub const WBEMS_DISPID_PROGRESS: u32 = 3u32; +#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] +pub const WBEM_INFINITE: i32 = -1i32; +#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] +pub const WBEM_NO_WAIT: i32 = 0i32; pub const WMIExtension: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4036451070, data2: 23679, data3: 4562, data4: [139, 116, 0, 16, 75, 42, 251, 65] }; pub const WbemAdministrativeLocator: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3414513100, data2: 37160, data3: 4561, data4: [173, 155, 0, 192, 79, 216, 253, 255] }; pub const WbemAuthenticatedLocator: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3440919350, data2: 37160, data3: 4561, data4: [173, 155, 0, 192, 79, 216, 253, 255] }; @@ -1087,39 +1091,39 @@ pub const WBEM_FLAVOR_AMENDED: WBEM_FLAVOR_TYPE = 128i32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub const WBEM_FLAVOR_MASK_AMENDED: WBEM_FLAVOR_TYPE = 128i32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub type WBEM_GENERIC_FLAG_TYPE = i32; +pub type WBEM_GENERIC_FLAG_TYPE = u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = 16i32; +pub const WBEM_FLAG_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = 16u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_RETURN_WBEM_COMPLETE: WBEM_GENERIC_FLAG_TYPE = 0i32; +pub const WBEM_FLAG_RETURN_WBEM_COMPLETE: WBEM_GENERIC_FLAG_TYPE = 0u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_BIDIRECTIONAL: WBEM_GENERIC_FLAG_TYPE = 0i32; +pub const WBEM_FLAG_BIDIRECTIONAL: WBEM_GENERIC_FLAG_TYPE = 0u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_FORWARD_ONLY: WBEM_GENERIC_FLAG_TYPE = 32i32; +pub const WBEM_FLAG_FORWARD_ONLY: WBEM_GENERIC_FLAG_TYPE = 32u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_NO_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = 64i32; +pub const WBEM_FLAG_NO_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = 64u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_RETURN_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = 0i32; +pub const WBEM_FLAG_RETURN_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = 0u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = 128i32; +pub const WBEM_FLAG_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = 128u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_DONT_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = 0i32; +pub const WBEM_FLAG_DONT_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = 0u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_ENSURE_LOCATABLE: WBEM_GENERIC_FLAG_TYPE = 256i32; +pub const WBEM_FLAG_ENSURE_LOCATABLE: WBEM_GENERIC_FLAG_TYPE = 256u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_DIRECT_READ: WBEM_GENERIC_FLAG_TYPE = 512i32; +pub const WBEM_FLAG_DIRECT_READ: WBEM_GENERIC_FLAG_TYPE = 512u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_SEND_ONLY_SELECTED: WBEM_GENERIC_FLAG_TYPE = 0i32; +pub const WBEM_FLAG_SEND_ONLY_SELECTED: WBEM_GENERIC_FLAG_TYPE = 0u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_RETURN_WHEN_COMPLETE: WBEM_GENERIC_FLAG_TYPE = 0i32; +pub const WBEM_RETURN_WHEN_COMPLETE: WBEM_GENERIC_FLAG_TYPE = 0u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = 16i32; +pub const WBEM_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = 16u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_MASK_RESERVED_FLAGS: WBEM_GENERIC_FLAG_TYPE = 126976i32; +pub const WBEM_MASK_RESERVED_FLAGS: WBEM_GENERIC_FLAG_TYPE = 126976u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_USE_AMENDED_QUALIFIERS: WBEM_GENERIC_FLAG_TYPE = 131072i32; +pub const WBEM_FLAG_USE_AMENDED_QUALIFIERS: WBEM_GENERIC_FLAG_TYPE = 131072u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_STRONG_VALIDATION: WBEM_GENERIC_FLAG_TYPE = 1048576i32; +pub const WBEM_FLAG_STRONG_VALIDATION: WBEM_GENERIC_FLAG_TYPE = 1048576u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub type WBEM_GENUS_TYPE = i32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] @@ -1309,12 +1313,6 @@ pub type WBEM_TEXT_FLAG_TYPE = i32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub const WBEM_FLAG_NO_FLAVORS: WBEM_TEXT_FLAG_TYPE = 1i32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub type WBEM_TIMEOUT_TYPE = i32; -#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_NO_WAIT: WBEM_TIMEOUT_TYPE = 0i32; -#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_INFINITE: WBEM_TIMEOUT_TYPE = -1i32; -#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub type WBEM_UNSECAPP_FLAG_TYPE = i32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub const WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS: WBEM_UNSECAPP_FLAG_TYPE = 0i32; diff --git a/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs b/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs index b4677ff312..72e80c2cda 100644 --- a/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Graphics/DirectWrite/mod.rs @@ -1,12 +1,15 @@ #[doc = "*Required features: `\"Win32_Graphics_DirectWrite\"`*"] #[inline] -pub unsafe fn DWriteCreateFactory(factorytype: DWRITE_FACTORY_TYPE, iid: *const ::windows::core::GUID) -> ::windows::core::Result<::windows::core::IUnknown> { +pub unsafe fn DWriteCreateFactory(factorytype: DWRITE_FACTORY_TYPE) -> ::windows::core::Result +where + T: ::windows::core::Interface, +{ #[cfg_attr(windows, link(name = "windows"))] extern "system" { fn DWriteCreateFactory(factorytype: DWRITE_FACTORY_TYPE, iid: *const ::windows::core::GUID, factory: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT; } - let mut result__ = ::core::mem::MaybeUninit::zeroed(); - DWriteCreateFactory(factorytype, ::core::mem::transmute(iid), ::core::mem::transmute(result__.as_mut_ptr())).from_abi::<::windows::core::IUnknown>(result__) + let mut result__ = ::core::option::Option::None; + DWriteCreateFactory(factorytype, &::IID, &mut result__ as *mut _ as *mut _).and_some(result__) } #[doc = "*Required features: `\"Win32_Graphics_DirectWrite\"`*"] #[repr(transparent)] diff --git a/crates/libs/windows/src/Windows/Win32/Networking/Ldap/mod.rs b/crates/libs/windows/src/Windows/Win32/Networking/Ldap/mod.rs index 140fde1759..96343546fc 100644 --- a/crates/libs/windows/src/Windows/Win32/Networking/Ldap/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Networking/Ldap/mod.rs @@ -7,12 +7,13 @@ pub unsafe fn LdapGetLastError() -> u32 { } LdapGetLastError() } -#[doc = "*Required features: `\"Win32_Networking_Ldap\"`*"] +#[doc = "*Required features: `\"Win32_Networking_Ldap\"`, `\"Win32_Foundation\"`*"] +#[cfg(feature = "Win32_Foundation")] #[inline] -pub unsafe fn LdapMapErrorToWin32(ldaperror: u32) -> u32 { +pub unsafe fn LdapMapErrorToWin32(ldaperror: LDAP_RETCODE) -> super::super::Foundation::WIN32_ERROR { #[cfg_attr(windows, link(name = "windows"))] extern "cdecl" { - fn LdapMapErrorToWin32(ldaperror: u32) -> u32; + fn LdapMapErrorToWin32(ldaperror: LDAP_RETCODE) -> super::super::Foundation::WIN32_ERROR; } LdapMapErrorToWin32(ldaperror) } diff --git a/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs index 1ab7438e36..5ac385cab3 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Ole/mod.rs @@ -17617,34 +17617,6 @@ impl ::core::fmt::Debug for PICTYPE { f.debug_tuple("PICTYPE").field(&self.0).finish() } } -impl ::core::ops::BitOr for PICTYPE { - type Output = Self; - fn bitor(self, other: Self) -> Self { - Self(self.0 | other.0) - } -} -impl ::core::ops::BitAnd for PICTYPE { - type Output = Self; - fn bitand(self, other: Self) -> Self { - Self(self.0 & other.0) - } -} -impl ::core::ops::BitOrAssign for PICTYPE { - fn bitor_assign(&mut self, other: Self) { - self.0.bitor_assign(other.0) - } -} -impl ::core::ops::BitAndAssign for PICTYPE { - fn bitand_assign(&mut self, other: Self) { - self.0.bitand_assign(other.0) - } -} -impl ::core::ops::Not for PICTYPE { - type Output = Self; - fn not(self) -> Self { - Self(self.0.not()) - } -} #[doc = "*Required features: `\"Win32_System_Ole\"`*"] #[repr(transparent)] #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] diff --git a/crates/libs/windows/src/Windows/Win32/System/Wmi/impl.rs b/crates/libs/windows/src/Windows/Win32/System/Wmi/impl.rs index 776e448197..6597745058 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Wmi/impl.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Wmi/impl.rs @@ -4666,7 +4666,7 @@ pub trait IWbemServices_Impl: Sized { fn DeleteInstanceAsync(&self, strobjectpath: &::windows::core::BSTR, lflags: i32, pctx: &::core::option::Option, presponsehandler: &::core::option::Option) -> ::windows::core::Result<()>; fn CreateInstanceEnum(&self, strfilter: &::windows::core::BSTR, lflags: i32, pctx: &::core::option::Option) -> ::windows::core::Result; fn CreateInstanceEnumAsync(&self, strfilter: &::windows::core::BSTR, lflags: i32, pctx: &::core::option::Option, presponsehandler: &::core::option::Option) -> ::windows::core::Result<()>; - fn ExecQuery(&self, strquerylanguage: &::windows::core::BSTR, strquery: &::windows::core::BSTR, lflags: i32, pctx: &::core::option::Option) -> ::windows::core::Result; + fn ExecQuery(&self, strquerylanguage: &::windows::core::BSTR, strquery: &::windows::core::BSTR, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: &::core::option::Option) -> ::windows::core::Result; fn ExecQueryAsync(&self, strquerylanguage: &::windows::core::BSTR, strquery: &::windows::core::BSTR, lflags: i32, pctx: &::core::option::Option, presponsehandler: &::core::option::Option) -> ::windows::core::Result<()>; fn ExecNotificationQuery(&self, strquerylanguage: &::windows::core::BSTR, strquery: &::windows::core::BSTR, lflags: i32, pctx: &::core::option::Option) -> ::windows::core::Result; fn ExecNotificationQueryAsync(&self, strquerylanguage: &::windows::core::BSTR, strquery: &::windows::core::BSTR, lflags: i32, pctx: &::core::option::Option, presponsehandler: &::core::option::Option) -> ::windows::core::Result<()>; @@ -4779,7 +4779,7 @@ impl IWbemServices_Vtbl { let this = (*this).get_impl(); this.CreateInstanceEnumAsync(::core::mem::transmute(&strfilter), ::core::mem::transmute_copy(&lflags), ::core::mem::transmute(&pctx), ::core::mem::transmute(&presponsehandler)).into() } - unsafe extern "system" fn ExecQuery, Impl: IWbemServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strquerylanguage: ::core::mem::ManuallyDrop<::windows::core::BSTR>, strquery: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + unsafe extern "system" fn ExecQuery, Impl: IWbemServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strquerylanguage: ::core::mem::ManuallyDrop<::windows::core::BSTR>, strquery: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.ExecQuery(::core::mem::transmute(&strquerylanguage), ::core::mem::transmute(&strquery), ::core::mem::transmute_copy(&lflags), ::core::mem::transmute(&pctx)) { diff --git a/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs b/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs index 33d4400b22..fd6d34bb50 100644 --- a/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/System/Wmi/mod.rs @@ -7500,7 +7500,7 @@ impl IWbemServices { { (::windows::core::Vtable::vtable(self).CreateInstanceEnumAsync)(::windows::core::Vtable::as_raw(self), ::core::mem::transmute_copy(strfilter), lflags, pctx.into().abi(), presponsehandler.into().abi()).ok() } - pub unsafe fn ExecQuery<'a, P0>(&self, strquerylanguage: &::windows::core::BSTR, strquery: &::windows::core::BSTR, lflags: i32, pctx: P0) -> ::windows::core::Result + pub unsafe fn ExecQuery<'a, P0>(&self, strquerylanguage: &::windows::core::BSTR, strquery: &::windows::core::BSTR, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: P0) -> ::windows::core::Result where P0: ::std::convert::Into<::windows::core::InParam<'a, IWbemContext>>, { @@ -7602,7 +7602,7 @@ pub struct IWbemServices_Vtbl { pub DeleteInstanceAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strobjectpath: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, presponsehandler: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, pub CreateInstanceEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strfilter: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, pub CreateInstanceEnumAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strfilter: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, presponsehandler: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, - pub ExecQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strquerylanguage: ::core::mem::ManuallyDrop<::windows::core::BSTR>, strquery: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, + pub ExecQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strquerylanguage: ::core::mem::ManuallyDrop<::windows::core::BSTR>, strquery: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: WBEM_GENERIC_FLAG_TYPE, pctx: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, pub ExecQueryAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strquerylanguage: ::core::mem::ManuallyDrop<::windows::core::BSTR>, strquery: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, presponsehandler: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, pub ExecNotificationQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strquerylanguage: ::core::mem::ManuallyDrop<::windows::core::BSTR>, strquery: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, pub ExecNotificationQueryAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, strquerylanguage: ::core::mem::ManuallyDrop<::windows::core::BSTR>, strquery: ::core::mem::ManuallyDrop<::windows::core::BSTR>, lflags: i32, pctx: *mut ::core::ffi::c_void, presponsehandler: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT, @@ -8057,6 +8057,10 @@ pub const WBEMS_DISPID_OBJECT_PUT: u32 = 4u32; pub const WBEMS_DISPID_OBJECT_READY: u32 = 1u32; #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub const WBEMS_DISPID_PROGRESS: u32 = 3u32; +#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] +pub const WBEM_INFINITE: i32 = -1i32; +#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] +pub const WBEM_NO_WAIT: i32 = 0i32; pub const WMIExtension: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf0975afe_5c7f_11d2_8b74_00104b2afb41); pub const WbemAdministrativeLocator: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcb8555cc_9128_11d1_ad9b_00c04fd8fdff); pub const WbemAuthenticatedLocator: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcd184336_9128_11d1_ad9b_00c04fd8fdff); @@ -9402,39 +9406,39 @@ impl ::core::fmt::Debug for WBEM_FLAVOR_TYPE { #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] #[repr(transparent)] #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] -pub struct WBEM_GENERIC_FLAG_TYPE(pub i32); +pub struct WBEM_GENERIC_FLAG_TYPE(pub u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(16i32); +pub const WBEM_FLAG_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(16u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_RETURN_WBEM_COMPLETE: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0i32); +pub const WBEM_FLAG_RETURN_WBEM_COMPLETE: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_BIDIRECTIONAL: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0i32); +pub const WBEM_FLAG_BIDIRECTIONAL: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_FORWARD_ONLY: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(32i32); +pub const WBEM_FLAG_FORWARD_ONLY: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(32u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_NO_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(64i32); +pub const WBEM_FLAG_NO_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(64u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_RETURN_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0i32); +pub const WBEM_FLAG_RETURN_ERROR_OBJECT: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(128i32); +pub const WBEM_FLAG_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(128u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_DONT_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0i32); +pub const WBEM_FLAG_DONT_SEND_STATUS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_ENSURE_LOCATABLE: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(256i32); +pub const WBEM_FLAG_ENSURE_LOCATABLE: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(256u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_DIRECT_READ: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(512i32); +pub const WBEM_FLAG_DIRECT_READ: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(512u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_SEND_ONLY_SELECTED: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0i32); +pub const WBEM_FLAG_SEND_ONLY_SELECTED: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_RETURN_WHEN_COMPLETE: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0i32); +pub const WBEM_RETURN_WHEN_COMPLETE: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(0u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(16i32); +pub const WBEM_RETURN_IMMEDIATELY: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(16u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_MASK_RESERVED_FLAGS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(126976i32); +pub const WBEM_MASK_RESERVED_FLAGS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(126976u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_USE_AMENDED_QUALIFIERS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(131072i32); +pub const WBEM_FLAG_USE_AMENDED_QUALIFIERS: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(131072u32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_FLAG_STRONG_VALIDATION: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(1048576i32); +pub const WBEM_FLAG_STRONG_VALIDATION: WBEM_GENERIC_FLAG_TYPE = WBEM_GENERIC_FLAG_TYPE(1048576u32); impl ::core::marker::Copy for WBEM_GENERIC_FLAG_TYPE {} impl ::core::clone::Clone for WBEM_GENERIC_FLAG_TYPE { fn clone(&self) -> Self { @@ -9454,6 +9458,34 @@ impl ::core::fmt::Debug for WBEM_GENERIC_FLAG_TYPE { f.debug_tuple("WBEM_GENERIC_FLAG_TYPE").field(&self.0).finish() } } +impl ::core::ops::BitOr for WBEM_GENERIC_FLAG_TYPE { + type Output = Self; + fn bitor(self, other: Self) -> Self { + Self(self.0 | other.0) + } +} +impl ::core::ops::BitAnd for WBEM_GENERIC_FLAG_TYPE { + type Output = Self; + fn bitand(self, other: Self) -> Self { + Self(self.0 & other.0) + } +} +impl ::core::ops::BitOrAssign for WBEM_GENERIC_FLAG_TYPE { + fn bitor_assign(&mut self, other: Self) { + self.0.bitor_assign(other.0) + } +} +impl ::core::ops::BitAndAssign for WBEM_GENERIC_FLAG_TYPE { + fn bitand_assign(&mut self, other: Self) { + self.0.bitand_assign(other.0) + } +} +impl ::core::ops::Not for WBEM_GENERIC_FLAG_TYPE { + type Output = Self; + fn not(self) -> Self { + Self(self.0.not()) + } +} #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] #[repr(transparent)] #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] @@ -10023,33 +10055,6 @@ impl ::core::fmt::Debug for WBEM_TEXT_FLAG_TYPE { #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] #[repr(transparent)] #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] -pub struct WBEM_TIMEOUT_TYPE(pub i32); -#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_NO_WAIT: WBEM_TIMEOUT_TYPE = WBEM_TIMEOUT_TYPE(0i32); -#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -pub const WBEM_INFINITE: WBEM_TIMEOUT_TYPE = WBEM_TIMEOUT_TYPE(-1i32); -impl ::core::marker::Copy for WBEM_TIMEOUT_TYPE {} -impl ::core::clone::Clone for WBEM_TIMEOUT_TYPE { - fn clone(&self) -> Self { - *self - } -} -impl ::core::default::Default for WBEM_TIMEOUT_TYPE { - fn default() -> Self { - Self(0) - } -} -unsafe impl ::windows::core::Abi for WBEM_TIMEOUT_TYPE { - type Abi = Self; -} -impl ::core::fmt::Debug for WBEM_TIMEOUT_TYPE { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple("WBEM_TIMEOUT_TYPE").field(&self.0).finish() - } -} -#[doc = "*Required features: `\"Win32_System_Wmi\"`*"] -#[repr(transparent)] -#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] pub struct WBEM_UNSECAPP_FLAG_TYPE(pub i32); #[doc = "*Required features: `\"Win32_System_Wmi\"`*"] pub const WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS: WBEM_UNSECAPP_FLAG_TYPE = WBEM_UNSECAPP_FLAG_TYPE(0i32); diff --git a/crates/samples/wmi/src/main.rs b/crates/samples/wmi/src/main.rs index db141563f6..77a263d1fb 100644 --- a/crates/samples/wmi/src/main.rs +++ b/crates/samples/wmi/src/main.rs @@ -11,7 +11,7 @@ fn main() -> Result<()> { let server = locator.ConnectServer(&BSTR::from("root\\cimv2"), &BSTR::new(), &BSTR::new(), &BSTR::new(), 0, &BSTR::new(), None)?; // TODO: workaround for https://github.com/microsoft/win32metadata/issues/1265 - let query = server.ExecQuery(&BSTR::from("WQL"), &BSTR::from("select Caption from Win32_LogicalDisk"), WBEM_FLAG_FORWARD_ONLY.0 | WBEM_FLAG_RETURN_IMMEDIATELY.0, None)?; + let query = server.ExecQuery(&BSTR::from("WQL"), &BSTR::from("select Caption from Win32_LogicalDisk"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, None)?; loop { let mut row = [None; 1]; diff --git a/crates/targets/aarch64_gnullvm/lib/libwindows.a b/crates/targets/aarch64_gnullvm/lib/libwindows.a index b71c726740..b23bfd5105 100644 Binary files a/crates/targets/aarch64_gnullvm/lib/libwindows.a and b/crates/targets/aarch64_gnullvm/lib/libwindows.a differ diff --git a/crates/targets/aarch64_msvc/lib/windows.lib b/crates/targets/aarch64_msvc/lib/windows.lib index aa84712691..9099ab416c 100644 Binary files a/crates/targets/aarch64_msvc/lib/windows.lib and b/crates/targets/aarch64_msvc/lib/windows.lib differ diff --git a/crates/targets/i686_gnu/lib/libwindows.a b/crates/targets/i686_gnu/lib/libwindows.a index 0c10e00cd3..de179e8860 100644 Binary files a/crates/targets/i686_gnu/lib/libwindows.a and b/crates/targets/i686_gnu/lib/libwindows.a differ diff --git a/crates/targets/i686_msvc/lib/windows.lib b/crates/targets/i686_msvc/lib/windows.lib index 111f5af846..25d88f82bc 100644 Binary files a/crates/targets/i686_msvc/lib/windows.lib and b/crates/targets/i686_msvc/lib/windows.lib differ diff --git a/crates/targets/x86_64_gnu/lib/libwindows.a b/crates/targets/x86_64_gnu/lib/libwindows.a index feaccdd4c9..9953101d4d 100644 Binary files a/crates/targets/x86_64_gnu/lib/libwindows.a and b/crates/targets/x86_64_gnu/lib/libwindows.a differ diff --git a/crates/targets/x86_64_gnullvm/lib/libwindows.a b/crates/targets/x86_64_gnullvm/lib/libwindows.a index d360470b6b..f0a5cefdb3 100644 Binary files a/crates/targets/x86_64_gnullvm/lib/libwindows.a and b/crates/targets/x86_64_gnullvm/lib/libwindows.a differ diff --git a/crates/targets/x86_64_msvc/lib/windows.lib b/crates/targets/x86_64_msvc/lib/windows.lib index 8caf306870..5edced9274 100644 Binary files a/crates/targets/x86_64_msvc/lib/windows.lib and b/crates/targets/x86_64_msvc/lib/windows.lib differ diff --git a/crates/tests/calling_convention/tests/sys.rs b/crates/tests/calling_convention/tests/sys.rs index 2041add846..348f1f579a 100644 --- a/crates/tests/calling_convention/tests/sys.rs +++ b/crates/tests/calling_convention/tests/sys.rs @@ -4,6 +4,6 @@ use windows_sys::{Win32::Foundation::*, Win32::Networking::Ldap::*}; fn test() { // TODO: workaround for https://github.com/microsoft/win32metadata/issues/1211 unsafe { - assert_eq!(ERROR_BUSY, LdapMapErrorToWin32(LDAP_BUSY as _)); + assert_eq!(ERROR_BUSY, LdapMapErrorToWin32(LDAP_BUSY)); } } diff --git a/crates/tests/calling_convention/tests/win.rs b/crates/tests/calling_convention/tests/win.rs index 029091d1a0..6d61ac6f51 100644 --- a/crates/tests/calling_convention/tests/win.rs +++ b/crates/tests/calling_convention/tests/win.rs @@ -4,6 +4,6 @@ use windows::{Win32::Foundation::*, Win32::Networking::Ldap::*}; fn test() { // TODO: workaround for https://github.com/microsoft/win32metadata/issues/1211 unsafe { - assert_eq!(ERROR_BUSY.0, LdapMapErrorToWin32(LDAP_BUSY.0 as _)); + assert_eq!(ERROR_BUSY, LdapMapErrorToWin32(LDAP_BUSY)); } }