From a7a09071e8c8c0a8b83abf2fcaf547f3488a3eca Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 26 Mar 2024 20:56:16 +0100 Subject: [PATCH] Bump `windows-core` to `0.53-0.54` range This includes the necessary binding changes for compatibility, provided by `windows-bindgen 0.53-0.54`. Generated code by `windows-bindgen` now also expects `TryInto` to be in scope via Rust's `prelude`, which is only the case in Rust edition `2021`. --- Cargo.toml | 4 +- api_gen/Cargo.toml | 4 +- src/Windows.rs | 1029 +++++++++++++++++++------------------------- 3 files changed, 439 insertions(+), 598 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0b2c3f1..53edfb7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ license = "MIT OR Apache-2.0" keywords = ["IANA", "time"] categories = ["date-and-time", "internationalization", "os"] readme = "README.md" -edition = "2018" +edition = "2021" [features] # When enabled, the library will succeed to compile for unknown target platforms, and return an `Err(GetTimezoneError::OsError)` at runtime. @@ -25,7 +25,7 @@ android_system_properties = "0.1.5" core-foundation-sys = "0.8.3" [target.'cfg(target_os = "windows")'.dependencies] -windows-core = { version = ">=0.50, <=0.52" } +windows-core = { version = ">=0.53, <=0.54" } [target.'cfg(target_arch = "wasm32")'.dependencies] js-sys = "0.3.50" diff --git a/api_gen/Cargo.toml b/api_gen/Cargo.toml index 250d7de..ac92d2a 100644 --- a/api_gen/Cargo.toml +++ b/api_gen/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "api_gen" version = "0.0.0" -edition = "2018" +edition = "2021" publish = false [dependencies] -windows-bindgen = "0.51" +windows-bindgen = "0.54" # Dissociate this crate from the root workspace to allow older Rust to build the main crate within # the workspace, without observing `edition = "2021"` inside `windows-bindgen`. diff --git a/src/Windows.rs b/src/Windows.rs index ac52f19..2195d8c 100644 --- a/src/Windows.rs +++ b/src/Windows.rs @@ -1,4 +1,4 @@ -// Bindings generated by `windows-bindgen` 0.51.1 +// Bindings generated by `windows-bindgen` 0.54.0 #![allow( non_snake_case, @@ -10,9 +10,20 @@ pub mod Foundation { pub mod Collections { #[repr(transparent)] + #[derive( + ::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone, + )] pub struct IIterable(::windows_core::IUnknown, ::core::marker::PhantomData) where T: ::windows_core::RuntimeType + 'static; + impl + ::windows_core::CanInto<::windows_core::IUnknown> for IIterable + { + } + impl + ::windows_core::CanInto<::windows_core::IInspectable> for IIterable + { + } impl IIterable { pub fn First(&self) -> ::windows_core::Result> { let this = self; @@ -22,36 +33,17 @@ pub mod Foundation { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } - impl - ::windows_core::CanInto<::windows_core::IUnknown> for IIterable - { - } - impl - ::windows_core::CanInto<::windows_core::IInspectable> for IIterable - { - } - impl ::core::cmp::PartialEq for IIterable { - fn eq(&self, other: &Self) -> bool { - self.0 == other.0 - } - } - impl ::core::cmp::Eq for IIterable {} - impl ::core::fmt::Debug for IIterable { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple("IIterable").field(&self.0).finish() - } - } impl ::windows_core::RuntimeType for IIterable { const SIGNATURE: ::windows_core::imp::ConstBuffer = { ::windows_core::imp::ConstBuffer::new() .push_slice(b"pinterface(") .push_slice(b"{faa585ea-6214-4217-afda-7f46de5869b3}") .push_slice(b";") - .push_other(::SIGNATURE) + .push_other(T::SIGNATURE) .push_slice(b")") }; } @@ -71,36 +63,37 @@ pub mod Foundation { } unsafe impl ::windows_core::Interface for IIterable { type Vtable = IIterable_Vtbl; - } - impl ::core::clone::Clone for IIterable { - fn clone(&self) -> Self { - Self(self.0.clone(), ::core::marker::PhantomData::) - } - } - unsafe impl ::windows_core::ComInterface - for IIterable - { const IID: ::windows_core::GUID = ::windows_core::GUID::from_signature( ::SIGNATURE, ); } #[repr(C)] - #[doc(hidden)] pub struct IIterable_Vtbl where T: ::windows_core::RuntimeType + 'static, { pub base__: ::windows_core::IInspectable_Vtbl, pub First: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut *mut ::core::ffi::c_void, ) -> ::windows_core::HRESULT, pub T: ::core::marker::PhantomData, } #[repr(transparent)] + #[derive( + ::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone, + )] pub struct IIterator(::windows_core::IUnknown, ::core::marker::PhantomData) where T: ::windows_core::RuntimeType + 'static; + impl + ::windows_core::CanInto<::windows_core::IUnknown> for IIterator + { + } + impl + ::windows_core::CanInto<::windows_core::IInspectable> for IIterator + { + } impl IIterator { pub fn Current(&self) -> ::windows_core::Result { let this = self; @@ -110,7 +103,7 @@ pub mod Foundation { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HasCurrent(&self) -> ::windows_core::Result { @@ -121,7 +114,7 @@ pub mod Foundation { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn MoveNext(&self) -> ::windows_core::Result { @@ -132,7 +125,7 @@ pub mod Foundation { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetMany( @@ -144,40 +137,21 @@ pub mod Foundation { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).GetMany)( ::windows_core::Interface::as_raw(this), - items.len() as u32, + items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } } - impl - ::windows_core::CanInto<::windows_core::IUnknown> for IIterator - { - } - impl - ::windows_core::CanInto<::windows_core::IInspectable> for IIterator - { - } - impl ::core::cmp::PartialEq for IIterator { - fn eq(&self, other: &Self) -> bool { - self.0 == other.0 - } - } - impl ::core::cmp::Eq for IIterator {} - impl ::core::fmt::Debug for IIterator { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple("IIterator").field(&self.0).finish() - } - } impl ::windows_core::RuntimeType for IIterator { const SIGNATURE: ::windows_core::imp::ConstBuffer = { ::windows_core::imp::ConstBuffer::new() .push_slice(b"pinterface(") .push_slice(b"{6a79e863-4300-459a-9966-cbb660963ee1}") .push_slice(b";") - .push_other(::SIGNATURE) + .push_other(T::SIGNATURE) .push_slice(b")") }; } @@ -193,50 +167,56 @@ pub mod Foundation { } unsafe impl ::windows_core::Interface for IIterator { type Vtable = IIterator_Vtbl; - } - impl ::core::clone::Clone for IIterator { - fn clone(&self) -> Self { - Self(self.0.clone(), ::core::marker::PhantomData::) - } - } - unsafe impl ::windows_core::ComInterface - for IIterator - { const IID: ::windows_core::GUID = ::windows_core::GUID::from_signature( ::SIGNATURE, ); } #[repr(C)] - #[doc(hidden)] pub struct IIterator_Vtbl where T: ::windows_core::RuntimeType + 'static, { pub base__: ::windows_core::IInspectable_Vtbl, pub Current: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::windows_core::AbiType, + *mut ::core::ffi::c_void, + *mut ::windows_core::AbiType, ) -> ::windows_core::HRESULT, pub HasCurrent: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut bool, + *mut ::core::ffi::c_void, + *mut bool, ) -> ::windows_core::HRESULT, pub MoveNext: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut bool, + *mut ::core::ffi::c_void, + *mut bool, ) -> ::windows_core::HRESULT, pub GetMany: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - items_array_size: u32, - items: *mut ::windows_core::AbiType, - result__: *mut u32, + *mut ::core::ffi::c_void, + u32, + *mut ::windows_core::AbiType, + *mut u32, ) -> ::windows_core::HRESULT, pub T: ::core::marker::PhantomData, } #[repr(transparent)] + #[derive( + ::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone, + )] pub struct IVectorView(::windows_core::IUnknown, ::core::marker::PhantomData) where T: ::windows_core::RuntimeType + 'static; + impl + ::windows_core::CanInto<::windows_core::IUnknown> for IVectorView + { + } + impl + ::windows_core::CanInto<::windows_core::IInspectable> for IVectorView + { + } + impl ::windows_core::CanInto> + for IVectorView + { + const QUERY: bool = true; + } impl IVectorView { pub fn GetAt(&self, index: u32) -> ::windows_core::Result { let this = self; @@ -247,7 +227,7 @@ pub mod Foundation { index, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Size(&self) -> ::windows_core::Result { @@ -258,7 +238,7 @@ pub mod Foundation { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn IndexOf(&self, value: P0, index: &mut u32) -> ::windows_core::Result @@ -274,7 +254,7 @@ pub mod Foundation { index, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn GetMany( @@ -288,55 +268,32 @@ pub mod Foundation { (::windows_core::Interface::vtable(this).GetMany)( ::windows_core::Interface::as_raw(this), startindex, - items.len() as u32, + items.len().try_into().unwrap(), ::core::mem::transmute_copy(&items), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn First(&self) -> ::windows_core::Result> { - let this = &::windows_core::ComInterface::cast::>(self)?; + let this = &::windows_core::Interface::cast::>(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).First)( ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } } - impl - ::windows_core::CanInto<::windows_core::IUnknown> for IVectorView - { - } - impl - ::windows_core::CanInto<::windows_core::IInspectable> for IVectorView - { - } - impl ::windows_core::CanTryInto> - for IVectorView - { - } - impl ::core::cmp::PartialEq for IVectorView { - fn eq(&self, other: &Self) -> bool { - self.0 == other.0 - } - } - impl ::core::cmp::Eq for IVectorView {} - impl ::core::fmt::Debug for IVectorView { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple("IVectorView").field(&self.0).finish() - } - } impl ::windows_core::RuntimeType for IVectorView { const SIGNATURE: ::windows_core::imp::ConstBuffer = { ::windows_core::imp::ConstBuffer::new() .push_slice(b"pinterface(") .push_slice(b"{bbe1fa4c-b0e3-4583-baef-1f1b2e483e56}") .push_slice(b";") - .push_other(::SIGNATURE) + .push_other(T::SIGNATURE) .push_slice(b")") }; } @@ -379,47 +336,37 @@ pub mod Foundation { } unsafe impl ::windows_core::Interface for IVectorView { type Vtable = IVectorView_Vtbl; - } - impl ::core::clone::Clone for IVectorView { - fn clone(&self) -> Self { - Self(self.0.clone(), ::core::marker::PhantomData::) - } - } - unsafe impl ::windows_core::ComInterface - for IVectorView - { const IID: ::windows_core::GUID = ::windows_core::GUID::from_signature( ::SIGNATURE, ); } #[repr(C)] - #[doc(hidden)] pub struct IVectorView_Vtbl where T: ::windows_core::RuntimeType + 'static, { pub base__: ::windows_core::IInspectable_Vtbl, pub GetAt: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - index: u32, - result__: *mut ::windows_core::AbiType, + *mut ::core::ffi::c_void, + u32, + *mut ::windows_core::AbiType, ) -> ::windows_core::HRESULT, pub Size: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut u32, + *mut ::core::ffi::c_void, + *mut u32, ) -> ::windows_core::HRESULT, pub IndexOf: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: ::windows_core::AbiType, - index: *mut u32, - result__: *mut bool, + *mut ::core::ffi::c_void, + ::windows_core::AbiType, + *mut u32, + *mut bool, ) -> ::windows_core::HRESULT, pub GetMany: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - startindex: u32, - items_array_size: u32, - items: *mut ::windows_core::AbiType, - result__: *mut u32, + *mut ::core::ffi::c_void, + u32, + u32, + *mut ::windows_core::AbiType, + *mut u32, ) -> ::windows_core::HRESULT, pub T: ::core::marker::PhantomData, } @@ -508,534 +455,458 @@ pub mod Foundation { } } pub mod Globalization { - #[doc(hidden)] - #[repr(transparent)] - pub struct ICalendar(::windows_core::IUnknown); - unsafe impl ::windows_core::Interface for ICalendar { - type Vtable = ICalendar_Vtbl; - } - impl ::core::clone::Clone for ICalendar { - fn clone(&self) -> Self { - Self(self.0.clone()) - } - } - unsafe impl ::windows_core::ComInterface for ICalendar { - const IID: ::windows_core::GUID = - ::windows_core::GUID::from_u128(0xca30221d_86d9_40fb_a26b_d44eb7cf08ea); - } + ::windows_core::imp::com_interface!( + ICalendar, + ICalendar_Vtbl, + 0xca30221d_86d9_40fb_a26b_d44eb7cf08ea + ); #[repr(C)] - #[doc(hidden)] pub struct ICalendar_Vtbl { pub base__: ::windows_core::IInspectable_Vtbl, pub Clone: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut *mut ::core::ffi::c_void, ) -> ::windows_core::HRESULT, pub SetToMin: - unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, + unsafe extern "system" fn(*mut ::core::ffi::c_void) -> ::windows_core::HRESULT, pub SetToMax: - unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, + unsafe extern "system" fn(*mut ::core::ffi::c_void) -> ::windows_core::HRESULT, pub Languages: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut *mut ::core::ffi::c_void, ) -> ::windows_core::HRESULT, pub NumeralSystem: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub SetNumeralSystem: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub GetCalendarSystem: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub ChangeCalendarSystem: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub GetClock: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub ChangeClock: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub GetDateTime: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut super::Foundation::DateTime, + *mut ::core::ffi::c_void, + *mut super::Foundation::DateTime, ) -> ::windows_core::HRESULT, pub SetDateTime: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: super::Foundation::DateTime, + *mut ::core::ffi::c_void, + super::Foundation::DateTime, ) -> ::windows_core::HRESULT, pub SetToNow: - unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, + unsafe extern "system" fn(*mut ::core::ffi::c_void) -> ::windows_core::HRESULT, pub FirstEra: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastEra: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfEras: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub Era: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetEra: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddEras: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - eras: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetEra: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddEras: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub EraAsFullString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub EraAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - ideallength: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub FirstYearInThisEra: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastYearInThisEra: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfYearsInThisEra: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub Year: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetYear: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddYears: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - years: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetYear: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddYears: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub YearAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub YearAsTruncatedString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - remainingdigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub YearAsPaddedString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - mindigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub FirstMonthInThisYear: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastMonthInThisYear: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfMonthsInThisYear: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub Month: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetMonth: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddMonths: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - months: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetMonth: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddMonths: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub MonthAsFullString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub MonthAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - ideallength: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub MonthAsFullSoloString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub MonthAsSoloString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - ideallength: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub MonthAsNumericString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub MonthAsPaddedNumericString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - mindigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, - pub AddWeeks: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - weeks: i32, - ) -> ::windows_core::HRESULT, + pub AddWeeks: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub FirstDayInThisMonth: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastDayInThisMonth: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfDaysInThisMonth: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub Day: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetDay: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddDays: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - days: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetDay: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddDays: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub DayAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub DayAsPaddedString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - mindigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub DayOfWeek: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut DayOfWeek, + *mut ::core::ffi::c_void, + *mut DayOfWeek, ) -> ::windows_core::HRESULT, pub DayOfWeekAsFullString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub DayOfWeekAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - ideallength: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub DayOfWeekAsFullSoloString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub DayOfWeekAsSoloString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - ideallength: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub FirstPeriodInThisDay: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastPeriodInThisDay: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfPeriodsInThisDay: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub Period: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetPeriod: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddPeriods: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - periods: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetPeriod: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddPeriods: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub PeriodAsFullString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub PeriodAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - ideallength: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub FirstHourInThisPeriod: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastHourInThisPeriod: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfHoursInThisPeriod: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub Hour: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetHour: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddHours: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - hours: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetHour: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddHours: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub HourAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub HourAsPaddedString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - mindigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub Minute: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetMinute: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddMinutes: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - minutes: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetMinute: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddMinutes: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub MinuteAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub MinuteAsPaddedString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - mindigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub Second: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetSecond: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddSeconds: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - seconds: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetSecond: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddSeconds: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub SecondAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub SecondAsPaddedString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - mindigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub Nanosecond: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, - ) -> ::windows_core::HRESULT, - pub SetNanosecond: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - value: i32, - ) -> ::windows_core::HRESULT, - pub AddNanoseconds: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - nanoseconds: i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, + pub SetNanosecond: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, + pub AddNanoseconds: + unsafe extern "system" fn(*mut ::core::ffi::c_void, i32) -> ::windows_core::HRESULT, pub NanosecondAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub NanosecondAsPaddedString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - mindigits: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub Compare: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - other: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub CompareDateTime: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - other: super::Foundation::DateTime, - result__: *mut i32, + *mut ::core::ffi::c_void, + super::Foundation::DateTime, + *mut i32, ) -> ::windows_core::HRESULT, pub CopyTo: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - other: *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, ) -> ::windows_core::HRESULT, pub FirstMinuteInThisHour: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastMinuteInThisHour: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfMinutesInThisHour: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub FirstSecondInThisMinute: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub LastSecondInThisMinute: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub NumberOfSecondsInThisMinute: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut i32, + *mut ::core::ffi::c_void, + *mut i32, ) -> ::windows_core::HRESULT, pub ResolvedLanguage: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub IsDaylightSavingTime: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut bool, + *mut ::core::ffi::c_void, + *mut bool, ) -> ::windows_core::HRESULT, } - #[doc(hidden)] - #[repr(transparent)] - pub struct ICalendarFactory(::windows_core::IUnknown); - unsafe impl ::windows_core::Interface for ICalendarFactory { - type Vtable = ICalendarFactory_Vtbl; - } - impl ::core::clone::Clone for ICalendarFactory { - fn clone(&self) -> Self { - Self(self.0.clone()) - } - } - unsafe impl ::windows_core::ComInterface for ICalendarFactory { - const IID: ::windows_core::GUID = - ::windows_core::GUID::from_u128(0x83f58412_e56b_4c75_a66e_0f63d57758a6); - } + ::windows_core::imp::com_interface!( + ICalendarFactory, + ICalendarFactory_Vtbl, + 0x83f58412_e56b_4c75_a66e_0f63d57758a6 + ); #[repr(C)] - #[doc(hidden)] pub struct ICalendarFactory_Vtbl { pub base__: ::windows_core::IInspectable_Vtbl, pub CreateCalendarDefaultCalendarAndClock: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - languages: *mut ::core::ffi::c_void, - result__: *mut *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut *mut ::core::ffi::c_void, ) -> ::windows_core::HRESULT, pub CreateCalendar: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - languages: *mut ::core::ffi::c_void, - calendar: ::std::mem::MaybeUninit<::windows_core::HSTRING>, - clock: ::std::mem::MaybeUninit<::windows_core::HSTRING>, - result__: *mut *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut *mut ::core::ffi::c_void, ) -> ::windows_core::HRESULT, } - #[doc(hidden)] - #[repr(transparent)] - pub struct ICalendarFactory2(::windows_core::IUnknown); - unsafe impl ::windows_core::Interface for ICalendarFactory2 { - type Vtable = ICalendarFactory2_Vtbl; - } - impl ::core::clone::Clone for ICalendarFactory2 { - fn clone(&self) -> Self { - Self(self.0.clone()) - } - } - unsafe impl ::windows_core::ComInterface for ICalendarFactory2 { - const IID: ::windows_core::GUID = - ::windows_core::GUID::from_u128(0xb44b378c_ca7e_4590_9e72_ea2bec1a5115); - } + ::windows_core::imp::com_interface!( + ICalendarFactory2, + ICalendarFactory2_Vtbl, + 0xb44b378c_ca7e_4590_9e72_ea2bec1a5115 + ); #[repr(C)] - #[doc(hidden)] pub struct ICalendarFactory2_Vtbl { pub base__: ::windows_core::IInspectable_Vtbl, pub CreateCalendarWithTimeZone: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - languages: *mut ::core::ffi::c_void, - calendar: ::std::mem::MaybeUninit<::windows_core::HSTRING>, - clock: ::std::mem::MaybeUninit<::windows_core::HSTRING>, - timezoneid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, - result__: *mut *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + *mut ::core::ffi::c_void, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut *mut ::core::ffi::c_void, ) -> ::windows_core::HRESULT, } - #[doc(hidden)] - #[repr(transparent)] - pub struct ITimeZoneOnCalendar(::windows_core::IUnknown); - unsafe impl ::windows_core::Interface for ITimeZoneOnCalendar { - type Vtable = ITimeZoneOnCalendar_Vtbl; - } - impl ::core::clone::Clone for ITimeZoneOnCalendar { - fn clone(&self) -> Self { - Self(self.0.clone()) - } - } - unsafe impl ::windows_core::ComInterface for ITimeZoneOnCalendar { - const IID: ::windows_core::GUID = - ::windows_core::GUID::from_u128(0xbb3c25e5_46cf_4317_a3f5_02621ad54478); - } + ::windows_core::imp::com_interface!( + ITimeZoneOnCalendar, + ITimeZoneOnCalendar_Vtbl, + 0xbb3c25e5_46cf_4317_a3f5_02621ad54478 + ); #[repr(C)] - #[doc(hidden)] pub struct ITimeZoneOnCalendar_Vtbl { pub base__: ::windows_core::IInspectable_Vtbl, pub GetTimeZone: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub ChangeTimeZone: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - timezoneid: ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub TimeZoneAsFullString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, pub TimeZoneAsString: unsafe extern "system" fn( - this: *mut ::core::ffi::c_void, - ideallength: i32, - result__: *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, + *mut ::core::ffi::c_void, + i32, + *mut ::std::mem::MaybeUninit<::windows_core::HSTRING>, ) -> ::windows_core::HRESULT, } #[repr(transparent)] + #[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)] pub struct Calendar(::windows_core::IUnknown); + ::windows_core::imp::interface_hierarchy!( + Calendar, + ::windows_core::IUnknown, + ::windows_core::IInspectable + ); impl Calendar { pub fn new() -> ::windows_core::Result { Self::IActivationFactory(|f| f.ActivateInstance::()) @@ -1060,7 +931,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetToMin(&self) -> ::windows_core::Result<()> { @@ -1093,7 +964,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NumeralSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -1104,7 +975,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SetNumeralSystem( @@ -1128,7 +999,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeCalendarSystem( @@ -1152,7 +1023,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeClock(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { @@ -1173,7 +1044,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetDateTime( @@ -1206,7 +1077,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastEra(&self) -> ::windows_core::Result { @@ -1217,7 +1088,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfEras(&self) -> ::windows_core::Result { @@ -1228,7 +1099,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Era(&self) -> ::windows_core::Result { @@ -1239,7 +1110,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetEra(&self, value: i32) -> ::windows_core::Result<()> { @@ -1270,7 +1141,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn EraAsString( @@ -1285,7 +1156,7 @@ pub mod Globalization { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstYearInThisEra(&self) -> ::windows_core::Result { @@ -1296,7 +1167,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastYearInThisEra(&self) -> ::windows_core::Result { @@ -1307,7 +1178,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfYearsInThisEra(&self) -> ::windows_core::Result { @@ -1318,7 +1189,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Year(&self) -> ::windows_core::Result { @@ -1329,7 +1200,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetYear(&self, value: i32) -> ::windows_core::Result<()> { @@ -1360,7 +1231,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YearAsTruncatedString( @@ -1375,7 +1246,7 @@ pub mod Globalization { remainingdigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn YearAsPaddedString( @@ -1390,7 +1261,7 @@ pub mod Globalization { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstMonthInThisYear(&self) -> ::windows_core::Result { @@ -1401,7 +1272,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastMonthInThisYear(&self) -> ::windows_core::Result { @@ -1412,7 +1283,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfMonthsInThisYear(&self) -> ::windows_core::Result { @@ -1423,7 +1294,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Month(&self) -> ::windows_core::Result { @@ -1434,7 +1305,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetMonth(&self, value: i32) -> ::windows_core::Result<()> { @@ -1465,7 +1336,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsString( @@ -1480,7 +1351,7 @@ pub mod Globalization { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -1491,7 +1362,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsSoloString( @@ -1506,7 +1377,7 @@ pub mod Globalization { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsNumericString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -1517,7 +1388,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MonthAsPaddedNumericString( @@ -1532,7 +1403,7 @@ pub mod Globalization { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn AddWeeks(&self, weeks: i32) -> ::windows_core::Result<()> { @@ -1553,7 +1424,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastDayInThisMonth(&self) -> ::windows_core::Result { @@ -1564,7 +1435,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfDaysInThisMonth(&self) -> ::windows_core::Result { @@ -1575,7 +1446,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Day(&self) -> ::windows_core::Result { @@ -1586,7 +1457,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetDay(&self, value: i32) -> ::windows_core::Result<()> { @@ -1617,7 +1488,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayAsPaddedString( @@ -1632,7 +1503,7 @@ pub mod Globalization { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeek(&self) -> ::windows_core::Result { @@ -1643,7 +1514,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn DayOfWeekAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -1654,7 +1525,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsString( @@ -1669,7 +1540,7 @@ pub mod Globalization { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -1680,7 +1551,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn DayOfWeekAsSoloString( @@ -1695,7 +1566,7 @@ pub mod Globalization { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstPeriodInThisDay(&self) -> ::windows_core::Result { @@ -1706,7 +1577,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastPeriodInThisDay(&self) -> ::windows_core::Result { @@ -1717,7 +1588,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfPeriodsInThisDay(&self) -> ::windows_core::Result { @@ -1728,7 +1599,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Period(&self) -> ::windows_core::Result { @@ -1739,7 +1610,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetPeriod(&self, value: i32) -> ::windows_core::Result<()> { @@ -1770,7 +1641,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn PeriodAsString( @@ -1785,7 +1656,7 @@ pub mod Globalization { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn FirstHourInThisPeriod(&self) -> ::windows_core::Result { @@ -1796,7 +1667,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastHourInThisPeriod(&self) -> ::windows_core::Result { @@ -1807,7 +1678,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfHoursInThisPeriod(&self) -> ::windows_core::Result { @@ -1818,7 +1689,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn Hour(&self) -> ::windows_core::Result { @@ -1829,7 +1700,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetHour(&self, value: i32) -> ::windows_core::Result<()> { @@ -1860,7 +1731,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn HourAsPaddedString( @@ -1875,7 +1746,7 @@ pub mod Globalization { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Minute(&self) -> ::windows_core::Result { @@ -1886,7 +1757,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetMinute(&self, value: i32) -> ::windows_core::Result<()> { @@ -1917,7 +1788,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn MinuteAsPaddedString( @@ -1932,7 +1803,7 @@ pub mod Globalization { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Second(&self) -> ::windows_core::Result { @@ -1943,7 +1814,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetSecond(&self, value: i32) -> ::windows_core::Result<()> { @@ -1974,7 +1845,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn SecondAsPaddedString( @@ -1989,7 +1860,7 @@ pub mod Globalization { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Nanosecond(&self) -> ::windows_core::Result { @@ -2000,7 +1871,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn SetNanosecond(&self, value: i32) -> ::windows_core::Result<()> { @@ -2031,7 +1902,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn NanosecondAsPaddedString( @@ -2046,7 +1917,7 @@ pub mod Globalization { mindigits, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn Compare(&self, other: P0) -> ::windows_core::Result @@ -2061,7 +1932,7 @@ pub mod Globalization { other.into_param().abi(), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn CompareDateTime( @@ -2076,7 +1947,7 @@ pub mod Globalization { other, &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn CopyTo(&self, other: P0) -> ::windows_core::Result<()> @@ -2100,7 +1971,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastMinuteInThisHour(&self) -> ::windows_core::Result { @@ -2111,7 +1982,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfMinutesInThisHour(&self) -> ::windows_core::Result { @@ -2122,7 +1993,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn FirstSecondInThisMinute(&self) -> ::windows_core::Result { @@ -2133,7 +2004,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn LastSecondInThisMinute(&self) -> ::windows_core::Result { @@ -2144,7 +2015,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn NumberOfSecondsInThisMinute(&self) -> ::windows_core::Result { @@ -2155,7 +2026,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn ResolvedLanguage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { @@ -2166,7 +2037,7 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn IsDaylightSavingTime(&self) -> ::windows_core::Result { @@ -2177,14 +2048,14 @@ pub mod Globalization { ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .map(|| result__) } } pub fn CreateCalendarDefaultCalendarAndClock( languages: P0, ) -> ::windows_core::Result where - P0: ::windows_core::TryIntoParam< + P0: ::windows_core::IntoParam< super::Foundation::Collections::IIterable<::windows_core::HSTRING>, >, { @@ -2192,10 +2063,10 @@ pub mod Globalization { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).CreateCalendarDefaultCalendarAndClock)( ::windows_core::Interface::as_raw(this), - languages.try_into_param()?.abi(), + languages.into_param().abi(), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCalendar( @@ -2204,7 +2075,7 @@ pub mod Globalization { clock: &::windows_core::HSTRING, ) -> ::windows_core::Result where - P0: ::windows_core::TryIntoParam< + P0: ::windows_core::IntoParam< super::Foundation::Collections::IIterable<::windows_core::HSTRING>, >, { @@ -2212,12 +2083,12 @@ pub mod Globalization { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).CreateCalendar)( ::windows_core::Interface::as_raw(this), - languages.try_into_param()?.abi(), + languages.into_param().abi(), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn CreateCalendarWithTimeZone( @@ -2227,7 +2098,7 @@ pub mod Globalization { timezoneid: &::windows_core::HSTRING, ) -> ::windows_core::Result where - P0: ::windows_core::TryIntoParam< + P0: ::windows_core::IntoParam< super::Foundation::Collections::IIterable<::windows_core::HSTRING>, >, { @@ -2235,31 +2106,31 @@ pub mod Globalization { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).CreateCalendarWithTimeZone)( ::windows_core::Interface::as_raw(this), - languages.try_into_param()?.abi(), + languages.into_param().abi(), ::core::mem::transmute_copy(calendar), ::core::mem::transmute_copy(clock), ::core::mem::transmute_copy(timezoneid), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) }) } pub fn GetTimeZone(&self) -> ::windows_core::Result<::windows_core::HSTRING> { - let this = &::windows_core::ComInterface::cast::(self)?; + let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).GetTimeZone)( ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn ChangeTimeZone( &self, timezoneid: &::windows_core::HSTRING, ) -> ::windows_core::Result<()> { - let this = &::windows_core::ComInterface::cast::(self)?; + let this = &::windows_core::Interface::cast::(self)?; unsafe { (::windows_core::Interface::vtable(this).ChangeTimeZone)( ::windows_core::Interface::as_raw(this), @@ -2269,21 +2140,21 @@ pub mod Globalization { } } pub fn TimeZoneAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { - let this = &::windows_core::ComInterface::cast::(self)?; + let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).TimeZoneAsFullString)( ::windows_core::Interface::as_raw(this), &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } pub fn TimeZoneAsString( &self, ideallength: i32, ) -> ::windows_core::Result<::windows_core::HSTRING> { - let this = &::windows_core::ComInterface::cast::(self)?; + let this = &::windows_core::Interface::cast::(self)?; unsafe { let mut result__ = ::std::mem::zeroed(); (::windows_core::Interface::vtable(this).TimeZoneAsString)( @@ -2291,7 +2162,7 @@ pub mod Globalization { ideallength, &mut result__, ) - .from_abi(result__) + .and_then(|| ::windows_core::Type::from_abi(result__)) } } #[doc(hidden)] @@ -2311,46 +2182,27 @@ pub mod Globalization { SHARED.call(callback) } } - impl ::core::cmp::PartialEq for Calendar { - fn eq(&self, other: &Self) -> bool { - self.0 == other.0 - } - } - impl ::core::cmp::Eq for Calendar {} - impl ::core::fmt::Debug for Calendar { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple("Calendar").field(&self.0).finish() - } - } impl ::windows_core::RuntimeType for Calendar { const SIGNATURE: ::windows_core::imp::ConstBuffer = - ::windows_core::imp::ConstBuffer::from_slice( - b"rc(Windows.Globalization.Calendar;{ca30221d-86d9-40fb-a26b-d44eb7cf08ea})", - ); - } - impl ::core::clone::Clone for Calendar { - fn clone(&self) -> Self { - Self(self.0.clone()) - } + ::windows_core::imp::ConstBuffer::for_class::(); } unsafe impl ::windows_core::Interface for Calendar { type Vtable = ICalendar_Vtbl; - } - unsafe impl ::windows_core::ComInterface for Calendar { - const IID: ::windows_core::GUID = ::IID; + const IID: ::windows_core::GUID = ::IID; } impl ::windows_core::RuntimeName for Calendar { const NAME: &'static str = "Windows.Globalization.Calendar"; } - ::windows_core::imp::interface_hierarchy!( - Calendar, - ::windows_core::IUnknown, - ::windows_core::IInspectable - ); unsafe impl ::core::marker::Send for Calendar {} unsafe impl ::core::marker::Sync for Calendar {} #[repr(transparent)] - #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)] + #[derive( + ::core::cmp::PartialEq, + ::core::cmp::Eq, + ::core::marker::Copy, + ::core::clone::Clone, + ::core::default::Default, + )] pub struct DayOfWeek(pub i32); impl DayOfWeek { pub const Sunday: Self = Self(0i32); @@ -2361,17 +2213,6 @@ pub mod Globalization { pub const Friday: Self = Self(5i32); pub const Saturday: Self = Self(6i32); } - impl ::core::marker::Copy for DayOfWeek {} - impl ::core::clone::Clone for DayOfWeek { - fn clone(&self) -> Self { - *self - } - } - impl ::core::default::Default for DayOfWeek { - fn default() -> Self { - Self(0) - } - } impl ::windows_core::TypeKind for DayOfWeek { type TypeKind = ::windows_core::CopyType; }