| // Bindings generated by `windows-bindgen` 0.51.1 |
| |
| #![allow( |
| non_snake_case, |
| non_upper_case_globals, |
| non_camel_case_types, |
| dead_code, |
| clippy::all |
| )] |
| pub mod Foundation { |
| pub mod Collections { |
| #[repr(transparent)] |
| pub struct IIterable<T>(::windows_core::IUnknown, ::core::marker::PhantomData<T>) |
| where |
| T: ::windows_core::RuntimeType + 'static; |
| impl<T: ::windows_core::RuntimeType + 'static> IIterable<T> { |
| pub fn First(&self) -> ::windows_core::Result<IIterator<T>> { |
| let this = 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__) |
| } |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> |
| ::windows_core::CanInto<::windows_core::IUnknown> for IIterable<T> |
| { |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> |
| ::windows_core::CanInto<::windows_core::IInspectable> for IIterable<T> |
| { |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::cmp::PartialEq for IIterable<T> { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::cmp::Eq for IIterable<T> {} |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::fmt::Debug for IIterable<T> { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IIterable").field(&self.0).finish() |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::RuntimeType for IIterable<T> { |
| 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(<T as ::windows_core::RuntimeType>::SIGNATURE) |
| .push_slice(b")") |
| }; |
| } |
| impl<T: ::windows_core::RuntimeType> ::core::iter::IntoIterator for IIterable<T> { |
| type Item = T; |
| type IntoIter = IIterator<Self::Item>; |
| fn into_iter(self) -> Self::IntoIter { |
| ::core::iter::IntoIterator::into_iter(&self) |
| } |
| } |
| impl<T: ::windows_core::RuntimeType> ::core::iter::IntoIterator for &IIterable<T> { |
| type Item = T; |
| type IntoIter = IIterator<Self::Item>; |
| fn into_iter(self) -> Self::IntoIter { |
| self.First().unwrap() |
| } |
| } |
| unsafe impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::Interface for IIterable<T> { |
| type Vtable = IIterable_Vtbl<T>; |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::clone::Clone for IIterable<T> { |
| fn clone(&self) -> Self { |
| Self(self.0.clone(), ::core::marker::PhantomData::<T>) |
| } |
| } |
| unsafe impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::ComInterface |
| for IIterable<T> |
| { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_signature( |
| <Self as ::windows_core::RuntimeType>::SIGNATURE, |
| ); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IIterable_Vtbl<T> |
| 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, |
| ) -> ::windows_core::HRESULT, |
| pub T: ::core::marker::PhantomData<T>, |
| } |
| #[repr(transparent)] |
| pub struct IIterator<T>(::windows_core::IUnknown, ::core::marker::PhantomData<T>) |
| where |
| T: ::windows_core::RuntimeType + 'static; |
| impl<T: ::windows_core::RuntimeType + 'static> IIterator<T> { |
| pub fn Current(&self) -> ::windows_core::Result<T> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Current)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn HasCurrent(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).HasCurrent)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn MoveNext(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MoveNext)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn GetMany( |
| &self, |
| items: &mut [<T as ::windows_core::Type<T>>::Default], |
| ) -> ::windows_core::Result<u32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetMany)( |
| ::windows_core::Interface::as_raw(this), |
| items.len() as u32, |
| ::core::mem::transmute_copy(&items), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> |
| ::windows_core::CanInto<::windows_core::IUnknown> for IIterator<T> |
| { |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> |
| ::windows_core::CanInto<::windows_core::IInspectable> for IIterator<T> |
| { |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::cmp::PartialEq for IIterator<T> { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::cmp::Eq for IIterator<T> {} |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::fmt::Debug for IIterator<T> { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IIterator").field(&self.0).finish() |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::RuntimeType for IIterator<T> { |
| 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(<T as ::windows_core::RuntimeType>::SIGNATURE) |
| .push_slice(b")") |
| }; |
| } |
| impl<T: ::windows_core::RuntimeType> ::core::iter::Iterator for IIterator<T> { |
| type Item = T; |
| fn next(&mut self) -> ::core::option::Option<Self::Item> { |
| let result = self.Current().ok(); |
| if result.is_some() { |
| self.MoveNext().ok()?; |
| } |
| result |
| } |
| } |
| unsafe impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::Interface for IIterator<T> { |
| type Vtable = IIterator_Vtbl<T>; |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::clone::Clone for IIterator<T> { |
| fn clone(&self) -> Self { |
| Self(self.0.clone(), ::core::marker::PhantomData::<T>) |
| } |
| } |
| unsafe impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::ComInterface |
| for IIterator<T> |
| { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_signature( |
| <Self as ::windows_core::RuntimeType>::SIGNATURE, |
| ); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IIterator_Vtbl<T> |
| 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<T>, |
| ) -> ::windows_core::HRESULT, |
| pub HasCurrent: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut bool, |
| ) -> ::windows_core::HRESULT, |
| pub MoveNext: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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<T>, |
| result__: *mut u32, |
| ) -> ::windows_core::HRESULT, |
| pub T: ::core::marker::PhantomData<T>, |
| } |
| #[repr(transparent)] |
| pub struct IVectorView<T>(::windows_core::IUnknown, ::core::marker::PhantomData<T>) |
| where |
| T: ::windows_core::RuntimeType + 'static; |
| impl<T: ::windows_core::RuntimeType + 'static> IVectorView<T> { |
| pub fn GetAt(&self, index: u32) -> ::windows_core::Result<T> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetAt)( |
| ::windows_core::Interface::as_raw(this), |
| index, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Size(&self) -> ::windows_core::Result<u32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Size)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn IndexOf<P0>(&self, value: P0, index: &mut u32) -> ::windows_core::Result<bool> |
| where |
| P0: ::windows_core::IntoParam<T>, |
| { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).IndexOf)( |
| ::windows_core::Interface::as_raw(this), |
| value.into_param().abi(), |
| index, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn GetMany( |
| &self, |
| startindex: u32, |
| items: &mut [<T as ::windows_core::Type<T>>::Default], |
| ) -> ::windows_core::Result<u32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetMany)( |
| ::windows_core::Interface::as_raw(this), |
| startindex, |
| items.len() as u32, |
| ::core::mem::transmute_copy(&items), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn First(&self) -> ::windows_core::Result<IIterator<T>> { |
| let this = &::windows_core::ComInterface::cast::<IIterable<T>>(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__) |
| } |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> |
| ::windows_core::CanInto<::windows_core::IUnknown> for IVectorView<T> |
| { |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> |
| ::windows_core::CanInto<::windows_core::IInspectable> for IVectorView<T> |
| { |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::CanTryInto<IIterable<T>> |
| for IVectorView<T> |
| { |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::cmp::PartialEq for IVectorView<T> { |
| fn eq(&self, other: &Self) -> bool { |
| self.0 == other.0 |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::cmp::Eq for IVectorView<T> {} |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::fmt::Debug for IVectorView<T> { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("IVectorView").field(&self.0).finish() |
| } |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::RuntimeType for IVectorView<T> { |
| 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(<T as ::windows_core::RuntimeType>::SIGNATURE) |
| .push_slice(b")") |
| }; |
| } |
| pub struct VectorViewIterator<T: ::windows_core::RuntimeType + 'static> { |
| vector: ::core::option::Option<IVectorView<T>>, |
| current: u32, |
| } |
| impl<T: ::windows_core::RuntimeType> VectorViewIterator<T> { |
| pub fn new(vector: ::core::option::Option<IVectorView<T>>) -> Self { |
| Self { vector, current: 0 } |
| } |
| } |
| impl<T: ::windows_core::RuntimeType> ::core::iter::Iterator for VectorViewIterator<T> { |
| type Item = T; |
| fn next(&mut self) -> ::core::option::Option<Self::Item> { |
| self.vector |
| .as_ref() |
| .and_then(|vector| vector.GetAt(self.current).ok()) |
| .and_then(|result| { |
| self.current += 1; |
| Some(result) |
| }) |
| } |
| } |
| impl<T: ::windows_core::RuntimeType> ::core::iter::IntoIterator for IVectorView<T> { |
| type Item = T; |
| type IntoIter = VectorViewIterator<Self::Item>; |
| fn into_iter(self) -> Self::IntoIter { |
| ::core::iter::IntoIterator::into_iter(&self) |
| } |
| } |
| impl<T: ::windows_core::RuntimeType> ::core::iter::IntoIterator for &IVectorView<T> { |
| type Item = T; |
| type IntoIter = VectorViewIterator<Self::Item>; |
| fn into_iter(self) -> Self::IntoIter { |
| VectorViewIterator::new(::core::option::Option::Some(::core::clone::Clone::clone( |
| self, |
| ))) |
| } |
| } |
| unsafe impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::Interface for IVectorView<T> { |
| type Vtable = IVectorView_Vtbl<T>; |
| } |
| impl<T: ::windows_core::RuntimeType + 'static> ::core::clone::Clone for IVectorView<T> { |
| fn clone(&self) -> Self { |
| Self(self.0.clone(), ::core::marker::PhantomData::<T>) |
| } |
| } |
| unsafe impl<T: ::windows_core::RuntimeType + 'static> ::windows_core::ComInterface |
| for IVectorView<T> |
| { |
| const IID: ::windows_core::GUID = ::windows_core::GUID::from_signature( |
| <Self as ::windows_core::RuntimeType>::SIGNATURE, |
| ); |
| } |
| #[repr(C)] |
| #[doc(hidden)] |
| pub struct IVectorView_Vtbl<T> |
| 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<T>, |
| ) -> ::windows_core::HRESULT, |
| pub Size: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut u32, |
| ) -> ::windows_core::HRESULT, |
| pub IndexOf: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| value: ::windows_core::AbiType<T>, |
| index: *mut u32, |
| result__: *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<T>, |
| result__: *mut u32, |
| ) -> ::windows_core::HRESULT, |
| pub T: ::core::marker::PhantomData<T>, |
| } |
| } |
| #[repr(C)] |
| pub struct DateTime { |
| pub UniversalTime: i64, |
| } |
| impl ::core::marker::Copy for DateTime {} |
| impl ::core::clone::Clone for DateTime { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for DateTime { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("DateTime") |
| .field("UniversalTime", &self.UniversalTime) |
| .finish() |
| } |
| } |
| impl ::windows_core::TypeKind for DateTime { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::windows_core::RuntimeType for DateTime { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = |
| ::windows_core::imp::ConstBuffer::from_slice(b"struct(Windows.Foundation.DateTime;i8)"); |
| } |
| impl ::core::cmp::PartialEq for DateTime { |
| fn eq(&self, other: &Self) -> bool { |
| self.UniversalTime == other.UniversalTime |
| } |
| } |
| impl ::core::cmp::Eq for DateTime {} |
| impl ::core::default::Default for DateTime { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| #[repr(C)] |
| pub struct TimeSpan { |
| pub Duration: i64, |
| } |
| impl ::core::marker::Copy for TimeSpan {} |
| impl ::core::clone::Clone for TimeSpan { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl ::core::fmt::Debug for TimeSpan { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_struct("TimeSpan") |
| .field("Duration", &self.Duration) |
| .finish() |
| } |
| } |
| impl ::windows_core::TypeKind for TimeSpan { |
| type TypeKind = ::windows_core::CopyType; |
| } |
| impl ::windows_core::RuntimeType for TimeSpan { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = |
| ::windows_core::imp::ConstBuffer::from_slice(b"struct(Windows.Foundation.TimeSpan;i8)"); |
| } |
| impl ::core::cmp::PartialEq for TimeSpan { |
| fn eq(&self, other: &Self) -> bool { |
| self.Duration == other.Duration |
| } |
| } |
| impl ::core::cmp::Eq for TimeSpan {} |
| impl ::core::default::Default for TimeSpan { |
| fn default() -> Self { |
| unsafe { ::core::mem::zeroed() } |
| } |
| } |
| impl ::core::convert::From<::core::time::Duration> for TimeSpan { |
| fn from(value: ::core::time::Duration) -> Self { |
| Self { |
| Duration: (value.as_nanos() / 100) as i64, |
| } |
| } |
| } |
| impl ::core::convert::From<TimeSpan> for ::core::time::Duration { |
| fn from(value: TimeSpan) -> Self { |
| ::core::time::Duration::from_nanos((value.Duration * 100) as u64) |
| } |
| } |
| } |
| 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); |
| } |
| #[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, |
| ) -> ::windows_core::HRESULT, |
| pub SetToMin: |
| unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub SetToMax: |
| unsafe extern "system" fn(this: *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, |
| ) -> ::windows_core::HRESULT, |
| pub NumeralSystem: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub GetCalendarSystem: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub GetClock: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub GetDateTime: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut super::Foundation::DateTime, |
| ) -> ::windows_core::HRESULT, |
| pub SetDateTime: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| value: super::Foundation::DateTime, |
| ) -> ::windows_core::HRESULT, |
| pub SetToNow: |
| unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT, |
| pub FirstEra: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastEra: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfEras: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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, |
| ) -> ::windows_core::HRESULT, |
| pub EraAsFullString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub FirstYearInThisEra: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastYearInThisEra: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfYearsInThisEra: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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, |
| ) -> ::windows_core::HRESULT, |
| pub YearAsString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::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>, |
| ) -> ::windows_core::HRESULT, |
| pub FirstMonthInThisYear: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastMonthInThisYear: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfMonthsInThisYear: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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, |
| ) -> ::windows_core::HRESULT, |
| pub MonthAsFullString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub MonthAsFullSoloString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub MonthAsNumericString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) |
| -> ::windows_core::HRESULT, |
| pub AddWeeks: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| weeks: i32, |
| ) -> ::windows_core::HRESULT, |
| pub FirstDayInThisMonth: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastDayInThisMonth: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfDaysInThisMonth: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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, |
| ) -> ::windows_core::HRESULT, |
| pub DayAsString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub DayOfWeek: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::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>, |
| ) -> ::windows_core::HRESULT, |
| pub DayOfWeekAsFullSoloString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub FirstPeriodInThisDay: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastPeriodInThisDay: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfPeriodsInThisDay: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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, |
| ) -> ::windows_core::HRESULT, |
| pub PeriodAsFullString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub FirstHourInThisPeriod: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastHourInThisPeriod: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfHoursInThisPeriod: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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, |
| ) -> ::windows_core::HRESULT, |
| pub HourAsString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::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, |
| ) -> ::windows_core::HRESULT, |
| pub MinuteAsString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::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, |
| ) -> ::windows_core::HRESULT, |
| pub SecondAsString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::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, |
| ) -> ::windows_core::HRESULT, |
| pub NanosecondAsString: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub Compare: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| other: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub CompareDateTime: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| other: super::Foundation::DateTime, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub CopyTo: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| other: *mut ::core::ffi::c_void, |
| ) -> ::windows_core::HRESULT, |
| pub FirstMinuteInThisHour: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastMinuteInThisHour: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfMinutesInThisHour: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) |
| -> ::windows_core::HRESULT, |
| pub FirstSecondInThisMinute: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub LastSecondInThisMinute: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *mut i32, |
| ) -> ::windows_core::HRESULT, |
| pub NumberOfSecondsInThisMinute: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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>, |
| ) -> ::windows_core::HRESULT, |
| pub IsDaylightSavingTime: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| result__: *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); |
| } |
| #[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, |
| ) -> ::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, |
| ) -> ::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); |
| } |
| #[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, |
| ) |
| -> ::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); |
| } |
| #[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>, |
| ) -> ::windows_core::HRESULT, |
| pub ChangeTimeZone: unsafe extern "system" fn( |
| this: *mut ::core::ffi::c_void, |
| timezoneid: ::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>, |
| ) -> ::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>, |
| ) -> ::windows_core::HRESULT, |
| } |
| #[repr(transparent)] |
| pub struct Calendar(::windows_core::IUnknown); |
| impl Calendar { |
| pub fn new() -> ::windows_core::Result<Self> { |
| Self::IActivationFactory(|f| f.ActivateInstance::<Self>()) |
| } |
| fn IActivationFactory< |
| R, |
| F: FnOnce(&::windows_core::imp::IGenericFactory) -> ::windows_core::Result<R>, |
| >( |
| callback: F, |
| ) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache< |
| Calendar, |
| ::windows_core::imp::IGenericFactory, |
| > = ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| pub fn Clone(&self) -> ::windows_core::Result<Calendar> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Clone)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetToMin(&self) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetToMin)( |
| ::windows_core::Interface::as_raw(this), |
| ) |
| .ok() |
| } |
| } |
| pub fn SetToMax(&self) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetToMax)( |
| ::windows_core::Interface::as_raw(this), |
| ) |
| .ok() |
| } |
| } |
| pub fn Languages( |
| &self, |
| ) -> ::windows_core::Result< |
| super::Foundation::Collections::IVectorView<::windows_core::HSTRING>, |
| > { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Languages)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumeralSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumeralSystem)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetNumeralSystem( |
| &self, |
| value: &::windows_core::HSTRING, |
| ) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetNumeralSystem)( |
| ::windows_core::Interface::as_raw(this), |
| ::core::mem::transmute_copy(value), |
| ) |
| .ok() |
| } |
| } |
| pub fn GetCalendarSystem(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetCalendarSystem)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn ChangeCalendarSystem( |
| &self, |
| value: &::windows_core::HSTRING, |
| ) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).ChangeCalendarSystem)( |
| ::windows_core::Interface::as_raw(this), |
| ::core::mem::transmute_copy(value), |
| ) |
| .ok() |
| } |
| } |
| pub fn GetClock(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetClock)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn ChangeClock(&self, value: &::windows_core::HSTRING) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).ChangeClock)( |
| ::windows_core::Interface::as_raw(this), |
| ::core::mem::transmute_copy(value), |
| ) |
| .ok() |
| } |
| } |
| pub fn GetDateTime(&self) -> ::windows_core::Result<super::Foundation::DateTime> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).GetDateTime)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetDateTime( |
| &self, |
| value: super::Foundation::DateTime, |
| ) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetDateTime)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn SetToNow(&self) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetToNow)( |
| ::windows_core::Interface::as_raw(this), |
| ) |
| .ok() |
| } |
| } |
| pub fn FirstEra(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstEra)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastEra(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastEra)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfEras(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfEras)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Era(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Era)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetEra(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetEra)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddEras(&self, eras: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddEras)( |
| ::windows_core::Interface::as_raw(this), |
| eras, |
| ) |
| .ok() |
| } |
| } |
| pub fn EraAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).EraAsFullString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn EraAsString( |
| &self, |
| ideallength: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).EraAsString)( |
| ::windows_core::Interface::as_raw(this), |
| ideallength, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn FirstYearInThisEra(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstYearInThisEra)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastYearInThisEra(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastYearInThisEra)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfYearsInThisEra(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfYearsInThisEra)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Year(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Year)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetYear(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetYear)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddYears(&self, years: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddYears)( |
| ::windows_core::Interface::as_raw(this), |
| years, |
| ) |
| .ok() |
| } |
| } |
| pub fn YearAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).YearAsString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn YearAsTruncatedString( |
| &self, |
| remainingdigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).YearAsTruncatedString)( |
| ::windows_core::Interface::as_raw(this), |
| remainingdigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn YearAsPaddedString( |
| &self, |
| mindigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).YearAsPaddedString)( |
| ::windows_core::Interface::as_raw(this), |
| mindigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn FirstMonthInThisYear(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstMonthInThisYear)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastMonthInThisYear(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastMonthInThisYear)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfMonthsInThisYear(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfMonthsInThisYear)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Month(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Month)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetMonth(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetMonth)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddMonths(&self, months: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddMonths)( |
| ::windows_core::Interface::as_raw(this), |
| months, |
| ) |
| .ok() |
| } |
| } |
| pub fn MonthAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MonthAsFullString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn MonthAsString( |
| &self, |
| ideallength: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MonthAsString)( |
| ::windows_core::Interface::as_raw(this), |
| ideallength, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn MonthAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MonthAsFullSoloString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn MonthAsSoloString( |
| &self, |
| ideallength: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MonthAsSoloString)( |
| ::windows_core::Interface::as_raw(this), |
| ideallength, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn MonthAsNumericString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MonthAsNumericString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn MonthAsPaddedNumericString( |
| &self, |
| mindigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MonthAsPaddedNumericString)( |
| ::windows_core::Interface::as_raw(this), |
| mindigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn AddWeeks(&self, weeks: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddWeeks)( |
| ::windows_core::Interface::as_raw(this), |
| weeks, |
| ) |
| .ok() |
| } |
| } |
| pub fn FirstDayInThisMonth(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstDayInThisMonth)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastDayInThisMonth(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastDayInThisMonth)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfDaysInThisMonth(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfDaysInThisMonth)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Day(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Day)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetDay(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetDay)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddDays(&self, days: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddDays)( |
| ::windows_core::Interface::as_raw(this), |
| days, |
| ) |
| .ok() |
| } |
| } |
| pub fn DayAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).DayAsString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn DayAsPaddedString( |
| &self, |
| mindigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).DayAsPaddedString)( |
| ::windows_core::Interface::as_raw(this), |
| mindigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn DayOfWeek(&self) -> ::windows_core::Result<DayOfWeek> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).DayOfWeek)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn DayOfWeekAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).DayOfWeekAsFullString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn DayOfWeekAsString( |
| &self, |
| ideallength: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).DayOfWeekAsString)( |
| ::windows_core::Interface::as_raw(this), |
| ideallength, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn DayOfWeekAsFullSoloString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).DayOfWeekAsFullSoloString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn DayOfWeekAsSoloString( |
| &self, |
| ideallength: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).DayOfWeekAsSoloString)( |
| ::windows_core::Interface::as_raw(this), |
| ideallength, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn FirstPeriodInThisDay(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstPeriodInThisDay)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastPeriodInThisDay(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastPeriodInThisDay)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfPeriodsInThisDay(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfPeriodsInThisDay)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Period(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Period)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetPeriod(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetPeriod)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddPeriods(&self, periods: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddPeriods)( |
| ::windows_core::Interface::as_raw(this), |
| periods, |
| ) |
| .ok() |
| } |
| } |
| pub fn PeriodAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).PeriodAsFullString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn PeriodAsString( |
| &self, |
| ideallength: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).PeriodAsString)( |
| ::windows_core::Interface::as_raw(this), |
| ideallength, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn FirstHourInThisPeriod(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstHourInThisPeriod)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastHourInThisPeriod(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastHourInThisPeriod)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfHoursInThisPeriod(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfHoursInThisPeriod)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Hour(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Hour)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetHour(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetHour)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddHours(&self, hours: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddHours)( |
| ::windows_core::Interface::as_raw(this), |
| hours, |
| ) |
| .ok() |
| } |
| } |
| pub fn HourAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).HourAsString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn HourAsPaddedString( |
| &self, |
| mindigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).HourAsPaddedString)( |
| ::windows_core::Interface::as_raw(this), |
| mindigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Minute(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Minute)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetMinute(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetMinute)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddMinutes(&self, minutes: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddMinutes)( |
| ::windows_core::Interface::as_raw(this), |
| minutes, |
| ) |
| .ok() |
| } |
| } |
| pub fn MinuteAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MinuteAsString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn MinuteAsPaddedString( |
| &self, |
| mindigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).MinuteAsPaddedString)( |
| ::windows_core::Interface::as_raw(this), |
| mindigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Second(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Second)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetSecond(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetSecond)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddSeconds(&self, seconds: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddSeconds)( |
| ::windows_core::Interface::as_raw(this), |
| seconds, |
| ) |
| .ok() |
| } |
| } |
| pub fn SecondAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).SecondAsString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SecondAsPaddedString( |
| &self, |
| mindigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).SecondAsPaddedString)( |
| ::windows_core::Interface::as_raw(this), |
| mindigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Nanosecond(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Nanosecond)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn SetNanosecond(&self, value: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).SetNanosecond)( |
| ::windows_core::Interface::as_raw(this), |
| value, |
| ) |
| .ok() |
| } |
| } |
| pub fn AddNanoseconds(&self, nanoseconds: i32) -> ::windows_core::Result<()> { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).AddNanoseconds)( |
| ::windows_core::Interface::as_raw(this), |
| nanoseconds, |
| ) |
| .ok() |
| } |
| } |
| pub fn NanosecondAsString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NanosecondAsString)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NanosecondAsPaddedString( |
| &self, |
| mindigits: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NanosecondAsPaddedString)( |
| ::windows_core::Interface::as_raw(this), |
| mindigits, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn Compare<P0>(&self, other: P0) -> ::windows_core::Result<i32> |
| where |
| P0: ::windows_core::IntoParam<Calendar>, |
| { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).Compare)( |
| ::windows_core::Interface::as_raw(this), |
| other.into_param().abi(), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn CompareDateTime( |
| &self, |
| other: super::Foundation::DateTime, |
| ) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CompareDateTime)( |
| ::windows_core::Interface::as_raw(this), |
| other, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn CopyTo<P0>(&self, other: P0) -> ::windows_core::Result<()> |
| where |
| P0: ::windows_core::IntoParam<Calendar>, |
| { |
| let this = self; |
| unsafe { |
| (::windows_core::Interface::vtable(this).CopyTo)( |
| ::windows_core::Interface::as_raw(this), |
| other.into_param().abi(), |
| ) |
| .ok() |
| } |
| } |
| pub fn FirstMinuteInThisHour(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstMinuteInThisHour)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastMinuteInThisHour(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastMinuteInThisHour)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfMinutesInThisHour(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfMinutesInThisHour)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn FirstSecondInThisMinute(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).FirstSecondInThisMinute)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn LastSecondInThisMinute(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).LastSecondInThisMinute)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn NumberOfSecondsInThisMinute(&self) -> ::windows_core::Result<i32> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).NumberOfSecondsInThisMinute)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn ResolvedLanguage(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).ResolvedLanguage)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn IsDaylightSavingTime(&self) -> ::windows_core::Result<bool> { |
| let this = self; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).IsDaylightSavingTime)( |
| ::windows_core::Interface::as_raw(this), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| pub fn CreateCalendarDefaultCalendarAndClock<P0>( |
| languages: P0, |
| ) -> ::windows_core::Result<Calendar> |
| where |
| P0: ::windows_core::TryIntoParam< |
| super::Foundation::Collections::IIterable<::windows_core::HSTRING>, |
| >, |
| { |
| Self::ICalendarFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateCalendarDefaultCalendarAndClock)( |
| ::windows_core::Interface::as_raw(this), |
| languages.try_into_param()?.abi(), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| }) |
| } |
| pub fn CreateCalendar<P0>( |
| languages: P0, |
| calendar: &::windows_core::HSTRING, |
| clock: &::windows_core::HSTRING, |
| ) -> ::windows_core::Result<Calendar> |
| where |
| P0: ::windows_core::TryIntoParam< |
| super::Foundation::Collections::IIterable<::windows_core::HSTRING>, |
| >, |
| { |
| Self::ICalendarFactory(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateCalendar)( |
| ::windows_core::Interface::as_raw(this), |
| languages.try_into_param()?.abi(), |
| ::core::mem::transmute_copy(calendar), |
| ::core::mem::transmute_copy(clock), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| }) |
| } |
| pub fn CreateCalendarWithTimeZone<P0>( |
| languages: P0, |
| calendar: &::windows_core::HSTRING, |
| clock: &::windows_core::HSTRING, |
| timezoneid: &::windows_core::HSTRING, |
| ) -> ::windows_core::Result<Calendar> |
| where |
| P0: ::windows_core::TryIntoParam< |
| super::Foundation::Collections::IIterable<::windows_core::HSTRING>, |
| >, |
| { |
| Self::ICalendarFactory2(|this| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).CreateCalendarWithTimeZone)( |
| ::windows_core::Interface::as_raw(this), |
| languages.try_into_param()?.abi(), |
| ::core::mem::transmute_copy(calendar), |
| ::core::mem::transmute_copy(clock), |
| ::core::mem::transmute_copy(timezoneid), |
| &mut result__, |
| ) |
| .from_abi(result__) |
| }) |
| } |
| pub fn GetTimeZone(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = &::windows_core::ComInterface::cast::<ITimeZoneOnCalendar>(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__) |
| } |
| } |
| pub fn ChangeTimeZone( |
| &self, |
| timezoneid: &::windows_core::HSTRING, |
| ) -> ::windows_core::Result<()> { |
| let this = &::windows_core::ComInterface::cast::<ITimeZoneOnCalendar>(self)?; |
| unsafe { |
| (::windows_core::Interface::vtable(this).ChangeTimeZone)( |
| ::windows_core::Interface::as_raw(this), |
| ::core::mem::transmute_copy(timezoneid), |
| ) |
| .ok() |
| } |
| } |
| pub fn TimeZoneAsFullString(&self) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = &::windows_core::ComInterface::cast::<ITimeZoneOnCalendar>(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__) |
| } |
| } |
| pub fn TimeZoneAsString( |
| &self, |
| ideallength: i32, |
| ) -> ::windows_core::Result<::windows_core::HSTRING> { |
| let this = &::windows_core::ComInterface::cast::<ITimeZoneOnCalendar>(self)?; |
| unsafe { |
| let mut result__ = ::std::mem::zeroed(); |
| (::windows_core::Interface::vtable(this).TimeZoneAsString)( |
| ::windows_core::Interface::as_raw(this), |
| ideallength, |
| &mut result__, |
| ) |
| .from_abi(result__) |
| } |
| } |
| #[doc(hidden)] |
| pub fn ICalendarFactory<R, F: FnOnce(&ICalendarFactory) -> ::windows_core::Result<R>>( |
| callback: F, |
| ) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<Calendar, ICalendarFactory> = |
| ::windows_core::imp::FactoryCache::new(); |
| SHARED.call(callback) |
| } |
| #[doc(hidden)] |
| pub fn ICalendarFactory2<R, F: FnOnce(&ICalendarFactory2) -> ::windows_core::Result<R>>( |
| callback: F, |
| ) -> ::windows_core::Result<R> { |
| static SHARED: ::windows_core::imp::FactoryCache<Calendar, ICalendarFactory2> = |
| ::windows_core::imp::FactoryCache::new(); |
| 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()) |
| } |
| } |
| unsafe impl ::windows_core::Interface for Calendar { |
| type Vtable = ICalendar_Vtbl; |
| } |
| unsafe impl ::windows_core::ComInterface for Calendar { |
| const IID: ::windows_core::GUID = <ICalendar as ::windows_core::ComInterface>::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)] |
| pub struct DayOfWeek(pub i32); |
| impl DayOfWeek { |
| pub const Sunday: Self = Self(0i32); |
| pub const Monday: Self = Self(1i32); |
| pub const Tuesday: Self = Self(2i32); |
| pub const Wednesday: Self = Self(3i32); |
| pub const Thursday: Self = Self(4i32); |
| 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; |
| } |
| impl ::core::fmt::Debug for DayOfWeek { |
| fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { |
| f.debug_tuple("DayOfWeek").field(&self.0).finish() |
| } |
| } |
| impl ::windows_core::RuntimeType for DayOfWeek { |
| const SIGNATURE: ::windows_core::imp::ConstBuffer = |
| ::windows_core::imp::ConstBuffer::from_slice( |
| b"enum(Windows.Globalization.DayOfWeek;i4)", |
| ); |
| } |
| } |