// Bindings generated by `windows-bindgen` 0.59.0 #![allow( non_snake_case, non_upper_case_globals, non_camel_case_types, dead_code, clippy::all )] pub mod Windows { pub mod Globalization { #[repr(transparent)] #[derive(Clone, Debug, Eq, PartialEq)] 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::()) } fn IActivationFactory< R, F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result, >( callback: F, ) -> windows_core::Result { 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Clone)( windows_core::Interface::as_raw(this), &mut result__, ) .and_then(|| windows_core::Type::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 NumeralSystem(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumeralSystem)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).GetCalendarSystem)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).GetClock)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(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 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstEra)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastEra(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastEra)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfEras(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfEras)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn Era(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Era)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).EraAsFullString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn EraAsString( &self, ideallength: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).EraAsString)( windows_core::Interface::as_raw(this), ideallength, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn FirstYearInThisEra(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstYearInThisEra)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastYearInThisEra(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastYearInThisEra)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfYearsInThisEra(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfYearsInThisEra)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn Year(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Year)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).YearAsString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn YearAsTruncatedString( &self, remainingdigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).YearAsTruncatedString)( windows_core::Interface::as_raw(this), remainingdigits, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn YearAsPaddedString( &self, mindigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).YearAsPaddedString)( windows_core::Interface::as_raw(this), mindigits, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn FirstMonthInThisYear(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstMonthInThisYear)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastMonthInThisYear(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastMonthInThisYear)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfMonthsInThisYear(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfMonthsInThisYear)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn Month(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Month)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MonthAsFullString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn MonthAsString( &self, ideallength: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MonthAsString)( windows_core::Interface::as_raw(this), ideallength, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn MonthAsFullSoloString(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MonthAsFullSoloString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn MonthAsSoloString( &self, ideallength: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MonthAsSoloString)( windows_core::Interface::as_raw(this), ideallength, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn MonthAsNumericString(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MonthAsNumericString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn MonthAsPaddedNumericString( &self, mindigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MonthAsPaddedNumericString)( windows_core::Interface::as_raw(this), mindigits, &mut result__, ) .map(|| core::mem::transmute(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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstDayInThisMonth)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastDayInThisMonth(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastDayInThisMonth)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfDaysInThisMonth(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfDaysInThisMonth)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn Day(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Day)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).DayAsString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn DayAsPaddedString( &self, mindigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).DayAsPaddedString)( windows_core::Interface::as_raw(this), mindigits, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn DayOfWeekAsFullString(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).DayOfWeekAsFullString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn DayOfWeekAsString( &self, ideallength: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).DayOfWeekAsString)( windows_core::Interface::as_raw(this), ideallength, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn DayOfWeekAsFullSoloString(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).DayOfWeekAsFullSoloString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn DayOfWeekAsSoloString( &self, ideallength: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).DayOfWeekAsSoloString)( windows_core::Interface::as_raw(this), ideallength, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn FirstPeriodInThisDay(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstPeriodInThisDay)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastPeriodInThisDay(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastPeriodInThisDay)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfPeriodsInThisDay(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfPeriodsInThisDay)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn Period(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Period)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).PeriodAsFullString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn PeriodAsString( &self, ideallength: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).PeriodAsString)( windows_core::Interface::as_raw(this), ideallength, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn FirstHourInThisPeriod(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstHourInThisPeriod)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastHourInThisPeriod(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastHourInThisPeriod)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfHoursInThisPeriod(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfHoursInThisPeriod)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn Hour(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Hour)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).HourAsString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn HourAsPaddedString( &self, mindigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).HourAsPaddedString)( windows_core::Interface::as_raw(this), mindigits, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn Minute(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Minute)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MinuteAsString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn MinuteAsPaddedString( &self, mindigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).MinuteAsPaddedString)( windows_core::Interface::as_raw(this), mindigits, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn Second(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Second)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).SecondAsString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn SecondAsPaddedString( &self, mindigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).SecondAsPaddedString)( windows_core::Interface::as_raw(this), mindigits, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn Nanosecond(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Nanosecond)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| 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 { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NanosecondAsString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn NanosecondAsPaddedString( &self, mindigits: i32, ) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NanosecondAsPaddedString)( windows_core::Interface::as_raw(this), mindigits, &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn Compare(&self, other: P0) -> windows_core::Result where P0: windows_core::Param, { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Compare)( windows_core::Interface::as_raw(this), other.param().abi(), &mut result__, ) .map(|| result__) } } pub fn CopyTo(&self, other: P0) -> windows_core::Result<()> where P0: windows_core::Param, { let this = self; unsafe { (windows_core::Interface::vtable(this).CopyTo)( windows_core::Interface::as_raw(this), other.param().abi(), ) .ok() } } pub fn FirstMinuteInThisHour(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstMinuteInThisHour)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastMinuteInThisHour(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastMinuteInThisHour)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfMinutesInThisHour(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfMinutesInThisHour)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn FirstSecondInThisMinute(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).FirstSecondInThisMinute)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn LastSecondInThisMinute(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).LastSecondInThisMinute)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn NumberOfSecondsInThisMinute(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).NumberOfSecondsInThisMinute)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn ResolvedLanguage(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).ResolvedLanguage)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn IsDaylightSavingTime(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).IsDaylightSavingTime)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| result__) } } pub fn GetTimeZone(&self) -> windows_core::Result { let this = &windows_core::Interface::cast::(self)?; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).GetTimeZone)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn ChangeTimeZone( &self, timezoneid: &windows_core::HSTRING, ) -> windows_core::Result<()> { let this = &windows_core::Interface::cast::(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 { let this = &windows_core::Interface::cast::(self)?; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).TimeZoneAsFullString)( windows_core::Interface::as_raw(this), &mut result__, ) .map(|| core::mem::transmute(result__)) } } pub fn TimeZoneAsString( &self, ideallength: i32, ) -> windows_core::Result { let this = &windows_core::Interface::cast::(self)?; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).TimeZoneAsString)( windows_core::Interface::as_raw(this), ideallength, &mut result__, ) .map(|| core::mem::transmute(result__)) } } fn ICalendarFactory windows_core::Result>( callback: F, ) -> windows_core::Result { static SHARED: windows_core::imp::FactoryCache = windows_core::imp::FactoryCache::new(); SHARED.call(callback) } fn ICalendarFactory2 windows_core::Result>( callback: F, ) -> windows_core::Result { static SHARED: windows_core::imp::FactoryCache = windows_core::imp::FactoryCache::new(); SHARED.call(callback) } } impl windows_core::RuntimeType for Calendar { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::(); } unsafe impl windows_core::Interface for Calendar { type Vtable = ::Vtable; const IID: windows_core::GUID = ::IID; } impl windows_core::RuntimeName for Calendar { const NAME: &'static str = "Windows.Globalization.Calendar"; } unsafe impl Send for Calendar {} unsafe impl Sync for Calendar {} windows_core::imp::define_interface!( ICalendar, ICalendar_Vtbl, 0xca30221d_86d9_40fb_a26b_d44eb7cf08ea ); impl windows_core::RuntimeType for ICalendar { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_interface::(); } #[repr(C)] pub struct ICalendar_Vtbl { pub base__: windows_core::IInspectable_Vtbl, pub Clone: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub SetToMin: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT, pub SetToMax: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT, get_Languages: usize, pub NumeralSystem: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub SetNumeralSystem: unsafe extern "system" fn( *mut core::ffi::c_void, *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub GetCalendarSystem: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub ChangeCalendarSystem: unsafe extern "system" fn( *mut core::ffi::c_void, *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub GetClock: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub ChangeClock: unsafe extern "system" fn( *mut core::ffi::c_void, *mut core::ffi::c_void, ) -> windows_core::HRESULT, GetDateTime: usize, SetDateTime: usize, pub SetToNow: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT, pub FirstEra: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastEra: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfEras: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub Era: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub EraAsString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub FirstYearInThisEra: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastYearInThisEra: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfYearsInThisEra: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub Year: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub YearAsTruncatedString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub YearAsPaddedString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub FirstMonthInThisYear: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastMonthInThisYear: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfMonthsInThisYear: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub Month: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub MonthAsString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub MonthAsFullSoloString: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub MonthAsSoloString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub MonthAsNumericString: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub MonthAsPaddedNumericString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub AddWeeks: unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT, pub FirstDayInThisMonth: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastDayInThisMonth: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfDaysInThisMonth: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub Day: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub DayAsPaddedString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, get_DayOfWeek: usize, pub DayOfWeekAsFullString: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub DayOfWeekAsString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub DayOfWeekAsFullSoloString: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub DayOfWeekAsSoloString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub FirstPeriodInThisDay: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastPeriodInThisDay: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfPeriodsInThisDay: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub Period: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub PeriodAsString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub FirstHourInThisPeriod: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastHourInThisPeriod: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfHoursInThisPeriod: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub Hour: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub HourAsPaddedString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub Minute: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub MinuteAsPaddedString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub Second: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub SecondAsPaddedString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub Nanosecond: unsafe extern "system" fn( *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( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub NanosecondAsPaddedString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub Compare: unsafe extern "system" fn( *mut core::ffi::c_void, *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, CompareDateTime: usize, pub CopyTo: unsafe extern "system" fn( *mut core::ffi::c_void, *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub FirstMinuteInThisHour: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastMinuteInThisHour: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfMinutesInThisHour: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub FirstSecondInThisMinute: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub LastSecondInThisMinute: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub NumberOfSecondsInThisMinute: unsafe extern "system" fn( *mut core::ffi::c_void, *mut i32, ) -> windows_core::HRESULT, pub ResolvedLanguage: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub IsDaylightSavingTime: unsafe extern "system" fn( *mut core::ffi::c_void, *mut bool, ) -> windows_core::HRESULT, } windows_core::imp::define_interface!( ICalendarFactory, ICalendarFactory_Vtbl, 0x83f58412_e56b_4c75_a66e_0f63d57758a6 ); impl windows_core::RuntimeType for ICalendarFactory { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_interface::(); } #[repr(C)] pub struct ICalendarFactory_Vtbl { pub base__: windows_core::IInspectable_Vtbl, CreateCalendarDefaultCalendarAndClock: usize, CreateCalendar: usize, } windows_core::imp::define_interface!( ICalendarFactory2, ICalendarFactory2_Vtbl, 0xb44b378c_ca7e_4590_9e72_ea2bec1a5115 ); impl windows_core::RuntimeType for ICalendarFactory2 { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_interface::(); } #[repr(C)] pub struct ICalendarFactory2_Vtbl { pub base__: windows_core::IInspectable_Vtbl, CreateCalendarWithTimeZone: usize, } windows_core::imp::define_interface!( ITimeZoneOnCalendar, ITimeZoneOnCalendar_Vtbl, 0xbb3c25e5_46cf_4317_a3f5_02621ad54478 ); impl windows_core::RuntimeType for ITimeZoneOnCalendar { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_interface::(); } #[repr(C)] pub struct ITimeZoneOnCalendar_Vtbl { pub base__: windows_core::IInspectable_Vtbl, pub GetTimeZone: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub ChangeTimeZone: unsafe extern "system" fn( *mut core::ffi::c_void, *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub TimeZoneAsFullString: unsafe extern "system" fn( *mut core::ffi::c_void, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, pub TimeZoneAsString: unsafe extern "system" fn( *mut core::ffi::c_void, i32, *mut *mut core::ffi::c_void, ) -> windows_core::HRESULT, } } }