#![allow(
unused_variables,
non_upper_case_globals,
non_snake_case,
unused_unsafe,
non_camel_case_types,
dead_code,
clippy::all
)]
pub mod ApplicationModel {
pub struct ApplicationProfile {}
impl ApplicationProfile {
pub fn Modes() -> ::windows::Result<ApplicationProfileModes> {
Self::IApplicationProfileStatics(|this| unsafe {
let mut result__: ApplicationProfileModes = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ApplicationProfileModes>(result__)
})
}
pub fn IApplicationProfileStatics<
R,
F: FnOnce(&IApplicationProfileStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ApplicationProfile,
IApplicationProfileStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for ApplicationProfile {
const NAME: &'static str = "Windows.Phone.ApplicationModel.ApplicationProfile";
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct ApplicationProfileModes(pub u32);
impl ApplicationProfileModes {
pub const Default: ApplicationProfileModes = ApplicationProfileModes(0u32);
pub const Alternate: ApplicationProfileModes = ApplicationProfileModes(1u32);
}
impl ::std::convert::From<u32> for ApplicationProfileModes {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for ApplicationProfileModes {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for ApplicationProfileModes {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.ApplicationModel.ApplicationProfileModes;u4)",
);
}
impl ::std::ops::BitOr for ApplicationProfileModes {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for ApplicationProfileModes {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for ApplicationProfileModes {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for ApplicationProfileModes {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for ApplicationProfileModes {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IApplicationProfileStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IApplicationProfileStatics {
type Vtable = IApplicationProfileStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3573582516,
32378,
4577,
[167, 242, 176, 161, 72, 36, 1, 155],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplicationProfileStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ApplicationProfileModes,
) -> ::windows::HRESULT,
);
}
pub mod Devices {
pub mod Notification {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IVibrationDevice(::windows::IInspectable);
unsafe impl ::windows::Interface for IVibrationDevice {
type Vtable = IVibrationDevice_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
457860501,
53197,
19976,
[146, 251, 193, 144, 109, 4, 73, 140],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVibrationDevice_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
duration: ::windows_foundation::TimeSpan,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IVibrationDeviceStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IVibrationDeviceStatics {
type Vtable = IVibrationDeviceStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
858772209,
7273,
19601,
[148, 158, 75, 182, 122, 133, 189, 199],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVibrationDeviceStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct VibrationDevice(::windows::IInspectable);
impl VibrationDevice {
pub fn Vibrate<'a, Param0: ::windows::IntoParam<'a, ::windows_foundation::TimeSpan>>(
&self,
duration: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
duration.into_param().abi(),
)
.ok()
}
}
pub fn Cancel(&self) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok()
}
}
pub fn GetDefault() -> ::windows::Result<VibrationDevice> {
Self::IVibrationDeviceStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<VibrationDevice>(result__)
})
}
pub fn IVibrationDeviceStatics<
R,
F: FnOnce(&IVibrationDeviceStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
VibrationDevice,
IVibrationDeviceStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for VibrationDevice {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Devices.Notification.VibrationDevice;{1b4a6595-cfcd-4e08-92fb-c1906d04498c})" ) ;
}
unsafe impl ::windows::Interface for VibrationDevice {
type Vtable = IVibrationDevice_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
457860501,
53197,
19976,
[146, 251, 193, 144, 109, 4, 73, 140],
);
}
impl ::windows::RuntimeName for VibrationDevice {
const NAME: &'static str = "Windows.Phone.Devices.Notification.VibrationDevice";
}
impl ::std::convert::From<VibrationDevice> for ::windows::IUnknown {
fn from(value: VibrationDevice) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&VibrationDevice> for ::windows::IUnknown {
fn from(value: &VibrationDevice) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for VibrationDevice {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &VibrationDevice {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<VibrationDevice> for ::windows::IInspectable {
fn from(value: VibrationDevice) -> Self {
value.0
}
}
impl ::std::convert::From<&VibrationDevice> for ::windows::IInspectable {
fn from(value: &VibrationDevice) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for VibrationDevice {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a VibrationDevice {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for VibrationDevice {}
unsafe impl ::std::marker::Sync for VibrationDevice {}
}
pub mod Power {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct Battery(::windows::IInspectable);
impl Battery {
pub fn RemainingChargePercent(&self) -> ::windows::Result<i32> {
let this = self;
unsafe {
let mut result__: i32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<i32>(result__)
}
}
pub fn RemainingDischargeTime(
&self,
) -> ::windows::Result<::windows_foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::TimeSpan = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::TimeSpan>(result__)
}
}
pub fn RemainingChargePercentChanged<
'a,
Param0: ::windows::IntoParam<
'a,
::windows_foundation::EventHandler<::windows::IInspectable>,
>,
>(
&self,
changehandler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
changehandler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
}
}
pub fn RemoveRemainingChargePercentChanged<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
&self,
token: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
token.into_param().abi(),
)
.ok()
}
}
pub fn GetDefault() -> ::windows::Result<Battery> {
Self::IBatteryStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<Battery>(result__)
})
}
pub fn IBatteryStatics<R, F: FnOnce(&IBatteryStatics) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<Battery, IBatteryStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for Battery {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"rc(Windows.Phone.Devices.Power.Battery;{972adbdd-6720-4702-a476-b9d38a0070e3})",
);
}
unsafe impl ::windows::Interface for Battery {
type Vtable = IBattery_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2536168413,
26400,
18178,
[164, 118, 185, 211, 138, 0, 112, 227],
);
}
impl ::windows::RuntimeName for Battery {
const NAME: &'static str = "Windows.Phone.Devices.Power.Battery";
}
impl ::std::convert::From<Battery> for ::windows::IUnknown {
fn from(value: Battery) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&Battery> for ::windows::IUnknown {
fn from(value: &Battery) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for Battery {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &Battery {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<Battery> for ::windows::IInspectable {
fn from(value: Battery) -> Self {
value.0
}
}
impl ::std::convert::From<&Battery> for ::windows::IInspectable {
fn from(value: &Battery) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for Battery {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a Battery {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for Battery {}
unsafe impl ::std::marker::Sync for Battery {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IBattery(::windows::IInspectable);
unsafe impl ::windows::Interface for IBattery {
type Vtable = IBattery_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2536168413,
26400,
18178,
[164, 118, 185, 211, 138, 0, 112, 227],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBattery_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::TimeSpan,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
changehandler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
token: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IBatteryStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IBatteryStatics {
type Vtable = IBatteryStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4210408560,
25449,
4577,
[184, 108, 8, 0, 32, 12, 154, 102],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBatteryStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
}
}
pub mod Management {
pub mod Deployment {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct Enterprise(::windows::IInspectable);
impl Enterprise {
pub fn Id(&self) -> ::windows::Result<::windows::Guid> {
let this = self;
unsafe {
let mut result__: ::windows::Guid = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::Guid>(result__)
}
}
pub fn Name(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn WorkplaceId(&self) -> ::windows::Result<i32> {
let this = self;
unsafe {
let mut result__: i32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<i32>(result__)
}
}
pub fn EnrollmentValidFrom(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn EnrollmentValidTo(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn Status(&self) -> ::windows::Result<EnterpriseStatus> {
let this = self;
unsafe {
let mut result__: EnterpriseStatus = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<EnterpriseStatus>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for Enterprise {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Management.Deployment.Enterprise;{96592f8d-856c-4426-a947-b06307718078})" ) ;
}
unsafe impl ::windows::Interface for Enterprise {
type Vtable = IEnterprise_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2522427277,
34156,
17446,
[169, 71, 176, 99, 7, 113, 128, 120],
);
}
impl ::windows::RuntimeName for Enterprise {
const NAME: &'static str = "Windows.Phone.Management.Deployment.Enterprise";
}
impl ::std::convert::From<Enterprise> for ::windows::IUnknown {
fn from(value: Enterprise) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&Enterprise> for ::windows::IUnknown {
fn from(value: &Enterprise) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for Enterprise {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &Enterprise {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<Enterprise> for ::windows::IInspectable {
fn from(value: Enterprise) -> Self {
value.0
}
}
impl ::std::convert::From<&Enterprise> for ::windows::IInspectable {
fn from(value: &Enterprise) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for Enterprise {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a Enterprise {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for Enterprise {}
unsafe impl ::std::marker::Sync for Enterprise {}
pub struct EnterpriseEnrollmentManager {}
impl EnterpriseEnrollmentManager {
pub fn EnrolledEnterprises(
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<Enterprise>>
{
Self::IEnterpriseEnrollmentManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVectorView<Enterprise>>(
result__,
)
})
}
pub fn CurrentEnterprise() -> ::windows::Result<Enterprise> {
Self::IEnterpriseEnrollmentManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<Enterprise>(result__)
})
}
pub fn ValidateEnterprisesAsync(
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
Self::IEnterpriseEnrollmentManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
})
}
pub fn RequestEnrollmentAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
enrollmenttoken: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<EnterpriseEnrollmentResult>>
{
Self::IEnterpriseEnrollmentManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
enrollmenttoken.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
EnterpriseEnrollmentResult,
>>(result__)
})
}
pub fn RequestUnenrollmentAsync<'a, Param0: ::windows::IntoParam<'a, Enterprise>>(
enterprise: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<bool>> {
Self::IEnterpriseEnrollmentManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
enterprise.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<bool>>(result__)
})
}
pub fn IEnterpriseEnrollmentManager<
R,
F: FnOnce(&IEnterpriseEnrollmentManager) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
EnterpriseEnrollmentManager,
IEnterpriseEnrollmentManager,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for EnterpriseEnrollmentManager {
const NAME: &'static str =
"Windows.Phone.Management.Deployment.EnterpriseEnrollmentManager";
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct EnterpriseEnrollmentResult(::windows::IInspectable);
impl EnterpriseEnrollmentResult {
pub fn EnrolledEnterprise(&self) -> ::windows::Result<Enterprise> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<Enterprise>(result__)
}
}
pub fn Status(&self) -> ::windows::Result<EnterpriseEnrollmentStatus> {
let this = self;
unsafe {
let mut result__: EnterpriseEnrollmentStatus = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<EnterpriseEnrollmentStatus>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for EnterpriseEnrollmentResult {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Management.Deployment.EnterpriseEnrollmentResult;{9ff71ce6-90db-4342-b326-1729aa91301c})" ) ;
}
unsafe impl ::windows::Interface for EnterpriseEnrollmentResult {
type Vtable = IEnterpriseEnrollmentResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2683772134,
37083,
17218,
[179, 38, 23, 41, 170, 145, 48, 28],
);
}
impl ::windows::RuntimeName for EnterpriseEnrollmentResult {
const NAME: &'static str =
"Windows.Phone.Management.Deployment.EnterpriseEnrollmentResult";
}
impl ::std::convert::From<EnterpriseEnrollmentResult> for ::windows::IUnknown {
fn from(value: EnterpriseEnrollmentResult) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&EnterpriseEnrollmentResult> for ::windows::IUnknown {
fn from(value: &EnterpriseEnrollmentResult) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for EnterpriseEnrollmentResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &EnterpriseEnrollmentResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<EnterpriseEnrollmentResult> for ::windows::IInspectable {
fn from(value: EnterpriseEnrollmentResult) -> Self {
value.0
}
}
impl ::std::convert::From<&EnterpriseEnrollmentResult> for ::windows::IInspectable {
fn from(value: &EnterpriseEnrollmentResult) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for EnterpriseEnrollmentResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a EnterpriseEnrollmentResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct EnterpriseEnrollmentStatus(pub i32);
impl EnterpriseEnrollmentStatus {
pub const Success: EnterpriseEnrollmentStatus = EnterpriseEnrollmentStatus(0i32);
pub const CancelledByUser: EnterpriseEnrollmentStatus =
EnterpriseEnrollmentStatus(1i32);
pub const UnknownFailure: EnterpriseEnrollmentStatus = EnterpriseEnrollmentStatus(2i32);
}
impl ::std::convert::From<i32> for EnterpriseEnrollmentStatus {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for EnterpriseEnrollmentStatus {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for EnterpriseEnrollmentStatus {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Management.Deployment.EnterpriseEnrollmentStatus;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct EnterpriseStatus(pub i32);
impl EnterpriseStatus {
pub const Enrolled: EnterpriseStatus = EnterpriseStatus(0i32);
pub const Disabled: EnterpriseStatus = EnterpriseStatus(1i32);
pub const Revoked: EnterpriseStatus = EnterpriseStatus(2i32);
pub const Expired: EnterpriseStatus = EnterpriseStatus(3i32);
}
impl ::std::convert::From<i32> for EnterpriseStatus {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for EnterpriseStatus {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for EnterpriseStatus {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Management.Deployment.EnterpriseStatus;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEnterprise(::windows::IInspectable);
unsafe impl ::windows::Interface for IEnterprise {
type Vtable = IEnterprise_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2522427277,
34156,
17446,
[169, 71, 176, 99, 7, 113, 128, 120],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnterprise_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut EnterpriseStatus,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEnterpriseEnrollmentManager(::windows::IInspectable);
unsafe impl ::windows::Interface for IEnterpriseEnrollmentManager {
type Vtable = IEnterpriseEnrollmentManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
553251728,
11369,
16856,
[136, 230, 228, 179, 136, 64, 38, 203],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnterpriseEnrollmentManager_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
enrollmenttoken: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
enterprise: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEnterpriseEnrollmentResult(::windows::IInspectable);
unsafe impl ::windows::Interface for IEnterpriseEnrollmentResult {
type Vtable = IEnterpriseEnrollmentResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2683772134,
37083,
17218,
[179, 38, 23, 41, 170, 145, 48, 28],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEnterpriseEnrollmentResult_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut EnterpriseEnrollmentStatus,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IInstallationManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IInstallationManagerStatics {
type Vtable = IInstallationManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2459608888,
36169,
17068,
[128, 201, 180, 173, 121, 60, 67, 242],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInstallationManagerStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
title: ::std::mem::ManuallyDrop<::windows::HSTRING>,
sourcelocation: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
title: ::std::mem::ManuallyDrop<::windows::HSTRING>,
sourcelocation: ::windows::RawPtr,
instanceid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
offerid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
license: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IInstallationManagerStatics2(::windows::IInspectable);
unsafe impl ::windows::Interface for IInstallationManagerStatics2 {
type Vtable = IInstallationManagerStatics2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2087464125,
64074,
19598,
[171, 151, 217, 89, 69, 47, 25, 229],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInstallationManagerStatics2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
removaloptions: ::windows_management::Deployment::RemovalOptions,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
manifesturi: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: ::windows_management::Deployment::DeploymentOptions,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagename: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagepublisher: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPackageInstallResult(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageInstallResult {
type Vtable = IPackageInstallResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
870903509,
3966,
17523,
[150, 124, 125, 110, 28, 14, 125, 225],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageInstallResult_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_management::Deployment::PackageInstallState,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPackageInstallResult2(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageInstallResult2 {
type Vtable = IPackageInstallResult2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1900665097,
16377,
16877,
[167, 23, 43, 198, 95, 252, 97, 210],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageInstallResult2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
pub struct InstallationManager {}
impl InstallationManager {
pub fn AddPackageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
title: Param0,
sourcelocation: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>,
> {
Self::IInstallationManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
( :: windows :: Interface :: vtable ( this ) .6 ) ( :: std :: mem :: transmute_copy ( this ) , title . into_param ( ) . abi ( ) , sourcelocation . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ::windows_foundation:: IAsyncOperationWithProgress :: < PackageInstallResult , u32 > > ( result__ )
})
}
pub fn AddPackagePreloadedAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param3: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param4: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
title: Param0,
sourcelocation: Param1,
instanceid: Param2,
offerid: Param3,
license: Param4,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>,
> {
Self::IInstallationManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
( :: windows :: Interface :: vtable ( this ) .7 ) ( :: std :: mem :: transmute_copy ( this ) , title . into_param ( ) . abi ( ) , sourcelocation . into_param ( ) . abi ( ) , instanceid . into_param ( ) . abi ( ) , offerid . into_param ( ) . abi ( ) , license . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ::windows_foundation:: IAsyncOperationWithProgress :: < PackageInstallResult , u32 > > ( result__ )
})
}
pub fn GetPendingPackageInstalls() -> ::windows::Result<
::windows_foundation::Collections::IIterable<
::windows_foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>,
>,
> {
Self::IInstallationManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_foundation::IAsyncOperationWithProgress<
PackageInstallResult,
u32,
>,
>>(result__)
})
}
pub fn FindPackagesForCurrentPublisher() -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
Self::IInstallationManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
})
}
pub fn FindPackages() -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
Self::IInstallationManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
})
}
pub fn RemovePackageAsync<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
packagefullname: Param0,
removaloptions: ::windows_management::Deployment::RemovalOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>,
> {
Self::IInstallationManagerStatics2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
( :: windows :: Interface :: vtable ( this ) .6 ) ( :: std :: mem :: transmute_copy ( this ) , packagefullname . into_param ( ) . abi ( ) , removaloptions , & mut result__ ) . from_abi :: < ::windows_foundation:: IAsyncOperationWithProgress :: < PackageInstallResult , u32 > > ( result__ )
})
}
pub fn RegisterPackageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
manifesturi: Param0,
dependencypackageuris: Param1,
deploymentoptions: ::windows_management::Deployment::DeploymentOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>,
> {
Self::IInstallationManagerStatics2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
( :: windows :: Interface :: vtable ( this ) .7 ) ( :: std :: mem :: transmute_copy ( this ) , manifesturi . into_param ( ) . abi ( ) , dependencypackageuris . into_param ( ) . abi ( ) , deploymentoptions , & mut result__ ) . from_abi :: < ::windows_foundation:: IAsyncOperationWithProgress :: < PackageInstallResult , u32 > > ( result__ )
})
}
pub fn FindPackagesByNamePublisher<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
packagename: Param0,
packagepublisher: Param1,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
Self::IInstallationManagerStatics2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
})
}
pub fn IInstallationManagerStatics<
R,
F: FnOnce(&IInstallationManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
InstallationManager,
IInstallationManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IInstallationManagerStatics2<
R,
F: FnOnce(&IInstallationManagerStatics2) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
InstallationManager,
IInstallationManagerStatics2,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for InstallationManager {
const NAME: &'static str = "Windows.Phone.Management.Deployment.InstallationManager";
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PackageInstallResult(::windows::IInspectable);
impl PackageInstallResult {
pub fn ProductId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn InstallState(
&self,
) -> ::windows::Result<::windows_management::Deployment::PackageInstallState>
{
let this = self;
unsafe {
let mut result__: ::windows_management::Deployment::PackageInstallState =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_management::Deployment::PackageInstallState>(result__)
}
}
pub fn ErrorText(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IPackageInstallResult2>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PackageInstallResult {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Management.Deployment.PackageInstallResult;{33e8eed5-0f7e-4473-967c-7d6e1c0e7de1})" ) ;
}
unsafe impl ::windows::Interface for PackageInstallResult {
type Vtable = IPackageInstallResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
870903509,
3966,
17523,
[150, 124, 125, 110, 28, 14, 125, 225],
);
}
impl ::windows::RuntimeName for PackageInstallResult {
const NAME: &'static str = "Windows.Phone.Management.Deployment.PackageInstallResult";
}
impl ::std::convert::From<PackageInstallResult> for ::windows::IUnknown {
fn from(value: PackageInstallResult) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PackageInstallResult> for ::windows::IUnknown {
fn from(value: &PackageInstallResult) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PackageInstallResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &PackageInstallResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<PackageInstallResult> for ::windows::IInspectable {
fn from(value: PackageInstallResult) -> Self {
value.0
}
}
impl ::std::convert::From<&PackageInstallResult> for ::windows::IInspectable {
fn from(value: &PackageInstallResult) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PackageInstallResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PackageInstallResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
}
}
pub mod Media {
pub mod Devices {
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct AudioRoutingEndpoint(pub i32);
impl AudioRoutingEndpoint {
pub const Default: AudioRoutingEndpoint = AudioRoutingEndpoint(0i32);
pub const Earpiece: AudioRoutingEndpoint = AudioRoutingEndpoint(1i32);
pub const Speakerphone: AudioRoutingEndpoint = AudioRoutingEndpoint(2i32);
pub const Bluetooth: AudioRoutingEndpoint = AudioRoutingEndpoint(3i32);
pub const WiredHeadset: AudioRoutingEndpoint = AudioRoutingEndpoint(4i32);
pub const WiredHeadsetSpeakerOnly: AudioRoutingEndpoint = AudioRoutingEndpoint(5i32);
pub const BluetoothWithNoiseAndEchoCancellation: AudioRoutingEndpoint =
AudioRoutingEndpoint(6i32);
pub const BluetoothPreferred: AudioRoutingEndpoint = AudioRoutingEndpoint(7i32);
}
impl ::std::convert::From<i32> for AudioRoutingEndpoint {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for AudioRoutingEndpoint {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for AudioRoutingEndpoint {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Media.Devices.AudioRoutingEndpoint;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct AudioRoutingManager(::windows::IInspectable);
impl AudioRoutingManager {
pub fn GetAudioEndpoint(&self) -> ::windows::Result<AudioRoutingEndpoint> {
let this = self;
unsafe {
let mut result__: AudioRoutingEndpoint = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AudioRoutingEndpoint>(result__)
}
}
pub fn SetAudioEndpoint(
&self,
endpoint: AudioRoutingEndpoint,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
endpoint,
)
.ok()
}
}
pub fn AudioEndpointChanged<
'a,
Param0: ::windows::IntoParam<
'a,
::windows_foundation::TypedEventHandler<
AudioRoutingManager,
::windows::IInspectable,
>,
>,
>(
&self,
endpointchangehandler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
endpointchangehandler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
}
}
pub fn RemoveAudioEndpointChanged<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
&self,
token: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
token.into_param().abi(),
)
.ok()
}
}
pub fn AvailableAudioEndpoints(
&self,
) -> ::windows::Result<AvailableAudioRoutingEndpoints> {
let this = self;
unsafe {
let mut result__: AvailableAudioRoutingEndpoints = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AvailableAudioRoutingEndpoints>(result__)
}
}
pub fn GetDefault() -> ::windows::Result<AudioRoutingManager> {
Self::IAudioRoutingManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AudioRoutingManager>(result__)
})
}
pub fn IAudioRoutingManagerStatics<
R,
F: FnOnce(&IAudioRoutingManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
AudioRoutingManager,
IAudioRoutingManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for AudioRoutingManager {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Media.Devices.AudioRoutingManager;{79340d20-71cc-4526-9f29-fc8d2486418b})" ) ;
}
unsafe impl ::windows::Interface for AudioRoutingManager {
type Vtable = IAudioRoutingManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2033454368,
29132,
17702,
[159, 41, 252, 141, 36, 134, 65, 139],
);
}
impl ::windows::RuntimeName for AudioRoutingManager {
const NAME: &'static str = "Windows.Phone.Media.Devices.AudioRoutingManager";
}
impl ::std::convert::From<AudioRoutingManager> for ::windows::IUnknown {
fn from(value: AudioRoutingManager) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&AudioRoutingManager> for ::windows::IUnknown {
fn from(value: &AudioRoutingManager) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for AudioRoutingManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &AudioRoutingManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<AudioRoutingManager> for ::windows::IInspectable {
fn from(value: AudioRoutingManager) -> Self {
value.0
}
}
impl ::std::convert::From<&AudioRoutingManager> for ::windows::IInspectable {
fn from(value: &AudioRoutingManager) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for AudioRoutingManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a AudioRoutingManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for AudioRoutingManager {}
unsafe impl ::std::marker::Sync for AudioRoutingManager {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct AvailableAudioRoutingEndpoints(pub u32);
impl AvailableAudioRoutingEndpoints {
pub const None: AvailableAudioRoutingEndpoints = AvailableAudioRoutingEndpoints(0u32);
pub const Earpiece: AvailableAudioRoutingEndpoints =
AvailableAudioRoutingEndpoints(1u32);
pub const Speakerphone: AvailableAudioRoutingEndpoints =
AvailableAudioRoutingEndpoints(2u32);
pub const Bluetooth: AvailableAudioRoutingEndpoints =
AvailableAudioRoutingEndpoints(4u32);
}
impl ::std::convert::From<u32> for AvailableAudioRoutingEndpoints {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for AvailableAudioRoutingEndpoints {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for AvailableAudioRoutingEndpoints {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Media.Devices.AvailableAudioRoutingEndpoints;u4)",
);
}
impl ::std::ops::BitOr for AvailableAudioRoutingEndpoints {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for AvailableAudioRoutingEndpoints {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for AvailableAudioRoutingEndpoints {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for AvailableAudioRoutingEndpoints {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for AvailableAudioRoutingEndpoints {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAudioRoutingManager(::windows::IInspectable);
unsafe impl ::windows::Interface for IAudioRoutingManager {
type Vtable = IAudioRoutingManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2033454368,
29132,
17702,
[159, 41, 252, 141, 36, 134, 65, 139],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAudioRoutingManager_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut AudioRoutingEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
endpoint: AudioRoutingEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
endpointchangehandler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
token: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut AvailableAudioRoutingEndpoints,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAudioRoutingManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IAudioRoutingManagerStatics {
type Vtable = IAudioRoutingManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2541728420,
21904,
19055,
[173, 222, 106, 61, 10, 213, 130, 80],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAudioRoutingManagerStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
}
}
pub mod Notification {
pub mod Management {
pub struct AccessoryManager {}
impl AccessoryManager {
pub fn RegisterAccessoryApp() -> ::windows::Result<::windows::HSTRING> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn GetNextTriggerDetails() -> ::windows::Result<IAccessoryNotificationTriggerDetails>
{
Self::IAccessoryManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<IAccessoryNotificationTriggerDetails>(result__)
})
}
pub fn ProcessTriggerDetails<
'a,
Param0: ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>,
>(
pdetails: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
pdetails.into_param().abi(),
)
.ok()
})
}
pub fn PhoneLineDetails(
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<PhoneLineDetails>>
{
Self::IAccessoryManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVectorView<
PhoneLineDetails,
>>(result__)
})
}
pub fn GetPhoneLineDetails<'a, Param0: ::windows::IntoParam<'a, ::windows::Guid>>(
phoneline: Param0,
) -> ::windows::Result<PhoneLineDetails> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
phoneline.into_param().abi(),
&mut result__,
)
.from_abi::<PhoneLineDetails>(result__)
})
}
pub fn AcceptPhoneCall(phonecallid: u32) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
phonecallid,
)
.ok()
})
}
pub fn AcceptPhoneCallOnEndpoint(
phonecallid: u32,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
phonecallid,
endpoint,
)
.ok()
})
}
pub fn AcceptPhoneCallWithVideo(phonecallid: u32) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
phonecallid,
)
.ok()
})
}
pub fn AcceptPhoneCallWithVideoOnAudioEndpoint(
phonecallid: u32,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
phonecallid,
endpoint,
)
.ok()
})
}
pub fn RejectPhoneCall(phonecallid: u32) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
phonecallid,
)
.ok()
})
}
pub fn RejectPhoneCallWithText(
phonecallid: u32,
textresponseid: u32,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
phonecallid,
textresponseid,
)
.ok()
})
}
pub fn MakePhoneCall<
'a,
Param0: ::windows::IntoParam<'a, ::windows::Guid>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
phoneline: Param0,
phonenumber: Param1,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
phoneline.into_param().abi(),
phonenumber.into_param().abi(),
)
.ok()
})
}
pub fn MakePhoneCallOnAudioEndpoint<
'a,
Param0: ::windows::IntoParam<'a, ::windows::Guid>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
phoneline: Param0,
phonenumber: Param1,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
phoneline.into_param().abi(),
phonenumber.into_param().abi(),
endpoint,
)
.ok()
})
}
pub fn MakePhoneCallWithVideo<
'a,
Param0: ::windows::IntoParam<'a, ::windows::Guid>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
phoneline: Param0,
phonenumber: Param1,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
phoneline.into_param().abi(),
phonenumber.into_param().abi(),
)
.ok()
})
}
pub fn MakePhoneCallWithVideoOnAudioEndpoint<
'a,
Param0: ::windows::IntoParam<'a, ::windows::Guid>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
phoneline: Param0,
phonenumber: Param1,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
phoneline.into_param().abi(),
phonenumber.into_param().abi(),
endpoint,
)
.ok()
})
}
pub fn SwapPhoneCalls(
phonecallidtohold: u32,
phonecallidonhold: u32,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).21)(
::std::mem::transmute_copy(this),
phonecallidtohold,
phonecallidonhold,
)
.ok()
})
}
pub fn HoldPhoneCall(phonecallid: u32, holdcall: bool) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).22)(
::std::mem::transmute_copy(this),
phonecallid,
holdcall,
)
.ok()
})
}
pub fn EndPhoneCall(phonecallid: u32) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).23)(
::std::mem::transmute_copy(this),
phonecallid,
)
.ok()
})
}
pub fn SetPhoneMute(value: bool) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value)
.ok()
})
}
pub fn PhoneMute() -> ::windows::Result<bool> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).25)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn SetPhoneCallAudioEndpoint(
value: PhoneCallAudioEndpoint,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).26)(::std::mem::transmute_copy(this), value)
.ok()
})
}
pub fn PhoneCallAudioEndpoint() -> ::windows::Result<PhoneCallAudioEndpoint> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: PhoneCallAudioEndpoint = ::std::mem::zeroed();
(::windows::Interface::vtable(this).27)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneCallAudioEndpoint>(result__)
})
}
pub fn SnoozeAlarm<'a, Param0: ::windows::IntoParam<'a, ::windows::Guid>>(
alarmid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).28)(
::std::mem::transmute_copy(this),
alarmid.into_param().abi(),
)
.ok()
})
}
pub fn SnoozeAlarmForSpecifiedTime<
'a,
Param0: ::windows::IntoParam<'a, ::windows::Guid>,
Param1: ::windows::IntoParam<'a, ::windows_foundation::TimeSpan>,
>(
alarmid: Param0,
timespan: Param1,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).29)(
::std::mem::transmute_copy(this),
alarmid.into_param().abi(),
timespan.into_param().abi(),
)
.ok()
})
}
pub fn DismissAlarm<'a, Param0: ::windows::IntoParam<'a, ::windows::Guid>>(
alarmid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).30)(
::std::mem::transmute_copy(this),
alarmid.into_param().abi(),
)
.ok()
})
}
pub fn SnoozeReminder<'a, Param0: ::windows::IntoParam<'a, ::windows::Guid>>(
reminderid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).31)(
::std::mem::transmute_copy(this),
reminderid.into_param().abi(),
)
.ok()
})
}
pub fn SnoozeReminderForSpecifiedTime<
'a,
Param0: ::windows::IntoParam<'a, ::windows::Guid>,
Param1: ::windows::IntoParam<'a, ::windows_foundation::TimeSpan>,
>(
reminderid: Param0,
timespan: Param1,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).32)(
::std::mem::transmute_copy(this),
reminderid.into_param().abi(),
timespan.into_param().abi(),
)
.ok()
})
}
pub fn DismissReminder<'a, Param0: ::windows::IntoParam<'a, ::windows::Guid>>(
reminderid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).33)(
::std::mem::transmute_copy(this),
reminderid.into_param().abi(),
)
.ok()
})
}
pub fn GetMediaMetadata() -> ::windows::Result<MediaMetadata> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).34)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<MediaMetadata>(result__)
})
}
pub fn MediaPlaybackCapabilities() -> ::windows::Result<PlaybackCapability> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: PlaybackCapability = ::std::mem::zeroed();
(::windows::Interface::vtable(this).35)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PlaybackCapability>(result__)
})
}
pub fn MediaPlaybackStatus() -> ::windows::Result<PlaybackStatus> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: PlaybackStatus = ::std::mem::zeroed();
(::windows::Interface::vtable(this).36)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PlaybackStatus>(result__)
})
}
pub fn PerformMediaPlaybackCommand(command: PlaybackCommand) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).37)(
::std::mem::transmute_copy(this),
command,
)
.ok()
})
}
pub fn DoNotDisturbEnabled() -> ::windows::Result<bool> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).38)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn DrivingModeEnabled() -> ::windows::Result<bool> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).39)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn BatterySaverState() -> ::windows::Result<bool> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).40)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn GetApps() -> ::windows::Result<
::windows_foundation::Collections::IMapView<
::windows::HSTRING,
AppNotificationInfo,
>,
> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).41)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IMapView<
::windows::HSTRING,
AppNotificationInfo,
>>(result__)
})
}
pub fn EnableNotificationsForApplication<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
appid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).42)(
::std::mem::transmute_copy(this),
appid.into_param().abi(),
)
.ok()
})
}
pub fn DisableNotificationsForApplication<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
appid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).43)(
::std::mem::transmute_copy(this),
appid.into_param().abi(),
)
.ok()
})
}
pub fn IsNotificationEnabledForApplication<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
appid: Param0,
) -> ::windows::Result<bool> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).44)(
::std::mem::transmute_copy(this),
appid.into_param().abi(),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn GetEnabledAccessoryNotificationTypes() -> ::windows::Result<i32> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: i32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).45)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<i32>(result__)
})
}
pub fn EnableAccessoryNotificationTypes(
accessorynotificationtypes: i32,
) -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).46)(
::std::mem::transmute_copy(this),
accessorynotificationtypes,
)
.ok()
})
}
pub fn DisableAllAccessoryNotificationTypes() -> ::windows::Result<()> {
Self::IAccessoryManager(|this| unsafe {
(::windows::Interface::vtable(this).47)(::std::mem::transmute_copy(this)).ok()
})
}
pub fn GetUserConsent() -> ::windows::Result<bool> {
Self::IAccessoryManager(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).48)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn GetAppIcon<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
appid: Param0,
) -> ::windows::Result<::windows_storage::Streams::IRandomAccessStreamReference>
{
Self::IAccessoryManager(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).49)(
::std::mem::transmute_copy(this),
appid.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_storage::Streams::IRandomAccessStreamReference>(result__)
})
}
pub fn RingDevice() -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok()
})
}
pub fn SpeedDialList(
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<SpeedDialEntry>>
{
Self::IAccessoryManager2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVectorView<
SpeedDialEntry,
>>(result__)
})
}
pub fn ClearToast<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
instanceid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
instanceid.into_param().abi(),
)
.ok()
})
}
pub fn IsPhonePinLocked() -> ::windows::Result<bool> {
Self::IAccessoryManager2(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn IncreaseVolume(step: i32) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).10)(::std::mem::transmute_copy(this), step)
.ok()
})
}
pub fn DecreaseVolume(step: i32) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), step)
.ok()
})
}
pub fn SetMute(mute: bool) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).12)(::std::mem::transmute_copy(this), mute)
.ok()
})
}
pub fn SetRingerVibrate(ringer: bool, vibrate: bool) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
ringer,
vibrate,
)
.ok()
})
}
pub fn VolumeInfo() -> ::windows::Result<VolumeInfo> {
Self::IAccessoryManager2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<VolumeInfo>(result__)
})
}
pub fn GetAllEmailAccounts(
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<EmailAccountInfo>>
{
Self::IAccessoryManager2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVectorView<
EmailAccountInfo,
>>(result__)
})
}
pub fn GetFolders<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
emailaccount: Param0,
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<EmailFolderInfo>>
{
Self::IAccessoryManager2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
emailaccount.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVectorView<
EmailFolderInfo,
>>(result__)
})
}
pub fn EnableEmailNotificationEmailAccount<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
emailaccount: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
emailaccount.into_param().abi(),
)
.ok()
})
}
pub fn DisableEmailNotificationEmailAccount<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
emailaccount: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
emailaccount.into_param().abi(),
)
.ok()
})
}
pub fn EnableEmailNotificationFolderFilter<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IVectorView<::windows::HSTRING>,
>,
>(
emailaccount: Param0,
folders: Param1,
) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
emailaccount.into_param().abi(),
folders.into_param().abi(),
)
.ok()
})
}
pub fn UpdateEmailReadStatus<'a, Param0: ::windows::IntoParam<'a, BinaryId>>(
messageentryid: Param0,
isread: bool,
) -> ::windows::Result<()> {
Self::IAccessoryManager2(|this| unsafe {
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
messageentryid.into_param().abi(),
isread,
)
.ok()
})
}
pub fn SnoozeAlarmByInstanceId<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
instanceid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager3(|this| unsafe {
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
instanceid.into_param().abi(),
)
.ok()
})
}
pub fn DismissAlarmByInstanceId<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
instanceid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager3(|this| unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
instanceid.into_param().abi(),
)
.ok()
})
}
pub fn SnoozeReminderByInstanceId<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
instanceid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager3(|this| unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
instanceid.into_param().abi(),
)
.ok()
})
}
pub fn DismissReminderByInstanceId<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
instanceid: Param0,
) -> ::windows::Result<()> {
Self::IAccessoryManager3(|this| unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
instanceid.into_param().abi(),
)
.ok()
})
}
pub fn IAccessoryManager<R, F: FnOnce(&IAccessoryManager) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<AccessoryManager, IAccessoryManager> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IAccessoryManager2<R, F: FnOnce(&IAccessoryManager2) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<AccessoryManager, IAccessoryManager2> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IAccessoryManager3<R, F: FnOnce(&IAccessoryManager3) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<AccessoryManager, IAccessoryManager3> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for AccessoryManager {
const NAME: &'static str = "Windows.Phone.Notification.Management.AccessoryManager";
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct AccessoryNotificationType(pub u32);
impl AccessoryNotificationType {
pub const None: AccessoryNotificationType = AccessoryNotificationType(0u32);
pub const Phone: AccessoryNotificationType = AccessoryNotificationType(1u32);
pub const Email: AccessoryNotificationType = AccessoryNotificationType(2u32);
pub const Reminder: AccessoryNotificationType = AccessoryNotificationType(4u32);
pub const Alarm: AccessoryNotificationType = AccessoryNotificationType(8u32);
pub const Toast: AccessoryNotificationType = AccessoryNotificationType(16u32);
pub const AppUninstalled: AccessoryNotificationType = AccessoryNotificationType(32u32);
pub const Dnd: AccessoryNotificationType = AccessoryNotificationType(64u32);
pub const DrivingMode: AccessoryNotificationType = AccessoryNotificationType(128u32);
pub const BatterySaver: AccessoryNotificationType = AccessoryNotificationType(256u32);
pub const Media: AccessoryNotificationType = AccessoryNotificationType(512u32);
pub const CortanaTile: AccessoryNotificationType = AccessoryNotificationType(1024u32);
pub const ToastCleared: AccessoryNotificationType = AccessoryNotificationType(2048u32);
pub const CalendarChanged: AccessoryNotificationType =
AccessoryNotificationType(4096u32);
pub const VolumeChanged: AccessoryNotificationType = AccessoryNotificationType(8192u32);
pub const EmailReadStatusChanged: AccessoryNotificationType =
AccessoryNotificationType(16384u32);
}
impl ::std::convert::From<u32> for AccessoryNotificationType {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for AccessoryNotificationType {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for AccessoryNotificationType {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.AccessoryNotificationType;u4)",
);
}
impl ::std::ops::BitOr for AccessoryNotificationType {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for AccessoryNotificationType {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for AccessoryNotificationType {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for AccessoryNotificationType {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for AccessoryNotificationType {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct AlarmNotificationTriggerDetails(::windows::IInspectable);
impl AlarmNotificationTriggerDetails {
pub fn AlarmId(&self) -> ::windows::Result<::windows::Guid> {
let this = self;
unsafe {
let mut result__: ::windows::Guid = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::Guid>(result__)
}
}
pub fn Title(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Timestamp(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn ReminderState(&self) -> ::windows::Result<ReminderState> {
let this = self;
unsafe {
let mut result__: ReminderState = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ReminderState>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn InstanceId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IAlarmNotificationTriggerDetails2>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for AlarmNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.AlarmNotificationTriggerDetails;{38f5fa30-c738-4da2-908c-775d83c36abb})" ) ;
}
unsafe impl ::windows::Interface for AlarmNotificationTriggerDetails {
type Vtable = IAlarmNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
955644464,
51000,
19874,
[144, 140, 119, 93, 131, 195, 106, 187],
);
}
impl ::windows::RuntimeName for AlarmNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.AlarmNotificationTriggerDetails";
}
impl ::std::convert::From<AlarmNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: AlarmNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&AlarmNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &AlarmNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for AlarmNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &AlarmNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<AlarmNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: AlarmNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&AlarmNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &AlarmNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for AlarmNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a AlarmNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<AlarmNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: AlarmNotificationTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&AlarmNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &AlarmNotificationTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for AlarmNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &AlarmNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct AppNotificationInfo(::windows::IInspectable);
impl AppNotificationInfo {
pub fn Id(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Name(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for AppNotificationInfo {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.AppNotificationInfo;{2157bea5-e286-45d3-9bea-f790fc216e0e})" ) ;
}
unsafe impl ::windows::Interface for AppNotificationInfo {
type Vtable = IAppNotificationInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
559398565,
57990,
17875,
[155, 234, 247, 144, 252, 33, 110, 14],
);
}
impl ::windows::RuntimeName for AppNotificationInfo {
const NAME: &'static str = "Windows.Phone.Notification.Management.AppNotificationInfo";
}
impl ::std::convert::From<AppNotificationInfo> for ::windows::IUnknown {
fn from(value: AppNotificationInfo) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&AppNotificationInfo> for ::windows::IUnknown {
fn from(value: &AppNotificationInfo) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for AppNotificationInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &AppNotificationInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<AppNotificationInfo> for ::windows::IInspectable {
fn from(value: AppNotificationInfo) -> Self {
value.0
}
}
impl ::std::convert::From<&AppNotificationInfo> for ::windows::IInspectable {
fn from(value: &AppNotificationInfo) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for AppNotificationInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a AppNotificationInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct BinaryId(::windows::IInspectable);
impl BinaryId {
pub fn Id(&self) -> ::windows::Result<u8> {
let this = self;
unsafe {
let mut result__: u8 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u8>(result__)
}
}
pub fn Length(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for BinaryId {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.BinaryId;{4f0da531-5595-44b4-9181-ce4efa3fc168})" ) ;
}
unsafe impl ::windows::Interface for BinaryId {
type Vtable = IBinaryId_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1326294321,
21909,
17588,
[145, 129, 206, 78, 250, 63, 193, 104],
);
}
impl ::windows::RuntimeName for BinaryId {
const NAME: &'static str = "Windows.Phone.Notification.Management.BinaryId";
}
impl ::std::convert::From<BinaryId> for ::windows::IUnknown {
fn from(value: BinaryId) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&BinaryId> for ::windows::IUnknown {
fn from(value: &BinaryId) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for BinaryId {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &BinaryId {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<BinaryId> for ::windows::IInspectable {
fn from(value: BinaryId) -> Self {
value.0
}
}
impl ::std::convert::From<&BinaryId> for ::windows::IInspectable {
fn from(value: &BinaryId) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for BinaryId {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a BinaryId {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct CalendarChangedEvent(pub i32);
impl CalendarChangedEvent {
pub const LostEvents: CalendarChangedEvent = CalendarChangedEvent(0i32);
pub const AppointmentAdded: CalendarChangedEvent = CalendarChangedEvent(1i32);
pub const AppointmentChanged: CalendarChangedEvent = CalendarChangedEvent(2i32);
pub const AppointmentDeleted: CalendarChangedEvent = CalendarChangedEvent(3i32);
pub const CalendarAdded: CalendarChangedEvent = CalendarChangedEvent(4i32);
pub const CalendarChanged: CalendarChangedEvent = CalendarChangedEvent(5i32);
pub const CalendarDeleted: CalendarChangedEvent = CalendarChangedEvent(6i32);
}
impl ::std::convert::From<i32> for CalendarChangedEvent {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for CalendarChangedEvent {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for CalendarChangedEvent {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.CalendarChangedEvent;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct CalendarChangedNotificationTriggerDetails(::windows::IInspectable);
impl CalendarChangedNotificationTriggerDetails {
pub fn EventType(&self) -> ::windows::Result<CalendarChangedEvent> {
let this = self;
unsafe {
let mut result__: CalendarChangedEvent = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<CalendarChangedEvent>(result__)
}
}
pub fn ItemId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for CalendarChangedNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.CalendarChangedNotificationTriggerDetails;{4b8a3bfc-279d-42ab-9c68-3e87977bf216})" ) ;
}
unsafe impl ::windows::Interface for CalendarChangedNotificationTriggerDetails {
type Vtable = ICalendarChangedNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1267350524,
10141,
17067,
[156, 104, 62, 135, 151, 123, 242, 22],
);
}
impl ::windows::RuntimeName for CalendarChangedNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.CalendarChangedNotificationTriggerDetails";
}
impl ::std::convert::From<CalendarChangedNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: CalendarChangedNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&CalendarChangedNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &CalendarChangedNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown>
for CalendarChangedNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown>
for &CalendarChangedNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<CalendarChangedNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: CalendarChangedNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&CalendarChangedNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &CalendarChangedNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for CalendarChangedNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a CalendarChangedNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<CalendarChangedNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(
value: CalendarChangedNotificationTriggerDetails,
) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&CalendarChangedNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(
value: &CalendarChangedNotificationTriggerDetails,
) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for CalendarChangedNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &CalendarChangedNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct CortanaTileNotificationTriggerDetails(::windows::IInspectable);
impl CortanaTileNotificationTriggerDetails {
pub fn TileId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Content(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn LargeContent1(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn LargeContent2(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn EmphasizedText(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn NonWrappedSmallContent1(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn NonWrappedSmallContent2(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn NonWrappedSmallContent3(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn NonWrappedSmallContent4(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Source(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for CortanaTileNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.CortanaTileNotificationTriggerDetails;{dc0f01d5-1489-46bb-b73b-7f90067ecf27})" ) ;
}
unsafe impl ::windows::Interface for CortanaTileNotificationTriggerDetails {
type Vtable = ICortanaTileNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3691971029,
5257,
18107,
[183, 59, 127, 144, 6, 126, 207, 39],
);
}
impl ::windows::RuntimeName for CortanaTileNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.CortanaTileNotificationTriggerDetails";
}
impl ::std::convert::From<CortanaTileNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: CortanaTileNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&CortanaTileNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &CortanaTileNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for CortanaTileNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &CortanaTileNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<CortanaTileNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: CortanaTileNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&CortanaTileNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &CortanaTileNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for CortanaTileNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a CortanaTileNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<CortanaTileNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: CortanaTileNotificationTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&CortanaTileNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &CortanaTileNotificationTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for CortanaTileNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &CortanaTileNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct EmailAccountInfo(::windows::IInspectable);
impl EmailAccountInfo {
pub fn DisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn IsNotificationEnabled(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for EmailAccountInfo {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.EmailAccountInfo;{dfbc02ab-bda0-4568-927e-b2ede35818a1})" ) ;
}
unsafe impl ::windows::Interface for EmailAccountInfo {
type Vtable = IEmailAccountInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3753640619,
48544,
17768,
[146, 126, 178, 237, 227, 88, 24, 161],
);
}
impl ::windows::RuntimeName for EmailAccountInfo {
const NAME: &'static str = "Windows.Phone.Notification.Management.EmailAccountInfo";
}
impl ::std::convert::From<EmailAccountInfo> for ::windows::IUnknown {
fn from(value: EmailAccountInfo) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&EmailAccountInfo> for ::windows::IUnknown {
fn from(value: &EmailAccountInfo) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for EmailAccountInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &EmailAccountInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<EmailAccountInfo> for ::windows::IInspectable {
fn from(value: EmailAccountInfo) -> Self {
value.0
}
}
impl ::std::convert::From<&EmailAccountInfo> for ::windows::IInspectable {
fn from(value: &EmailAccountInfo) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for EmailAccountInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a EmailAccountInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct EmailFolderInfo(::windows::IInspectable);
impl EmailFolderInfo {
pub fn DisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn IsNotificationEnabled(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for EmailFolderInfo {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.EmailFolderInfo;{c207150e-e237-46d6-90e6-4f529eeac1e2})" ) ;
}
unsafe impl ::windows::Interface for EmailFolderInfo {
type Vtable = IEmailFolderInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3255244046,
57911,
18134,
[144, 230, 79, 82, 158, 234, 193, 226],
);
}
impl ::windows::RuntimeName for EmailFolderInfo {
const NAME: &'static str = "Windows.Phone.Notification.Management.EmailFolderInfo";
}
impl ::std::convert::From<EmailFolderInfo> for ::windows::IUnknown {
fn from(value: EmailFolderInfo) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&EmailFolderInfo> for ::windows::IUnknown {
fn from(value: &EmailFolderInfo) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for EmailFolderInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &EmailFolderInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<EmailFolderInfo> for ::windows::IInspectable {
fn from(value: EmailFolderInfo) -> Self {
value.0
}
}
impl ::std::convert::From<&EmailFolderInfo> for ::windows::IInspectable {
fn from(value: &EmailFolderInfo) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for EmailFolderInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a EmailFolderInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct EmailNotificationTriggerDetails(::windows::IInspectable);
impl EmailNotificationTriggerDetails {
pub fn AccountName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn ParentFolderName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SenderName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SenderAddress(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn EmailMessage(
&self,
) -> ::windows::Result<::windows_applicationmodel::Email::EmailMessage> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_applicationmodel::Email::EmailMessage>(result__)
}
}
pub fn Timestamp(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn MessageEntryId(&self) -> ::windows::Result<BinaryId> {
let this = &::windows::Interface::cast::<IEmailNotificationTriggerDetails2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<BinaryId>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for EmailNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.EmailNotificationTriggerDetails;{f3b82612-46cf-4e70-8e0d-7b2e04ab492b})" ) ;
}
unsafe impl ::windows::Interface for EmailNotificationTriggerDetails {
type Vtable = IEmailNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4088931858,
18127,
20080,
[142, 13, 123, 46, 4, 171, 73, 43],
);
}
impl ::windows::RuntimeName for EmailNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.EmailNotificationTriggerDetails";
}
impl ::std::convert::From<EmailNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: EmailNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&EmailNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &EmailNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for EmailNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &EmailNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<EmailNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: EmailNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&EmailNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &EmailNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for EmailNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a EmailNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<EmailNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: EmailNotificationTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&EmailNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &EmailNotificationTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for EmailNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &EmailNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct EmailReadNotificationTriggerDetails(::windows::IInspectable);
impl EmailReadNotificationTriggerDetails {
pub fn AccountName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn ParentFolderName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn MessageEntryId(&self) -> ::windows::Result<BinaryId> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<BinaryId>(result__)
}
}
pub fn IsRead(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for EmailReadNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.EmailReadNotificationTriggerDetails;{f5b7a087-06f3-4e3e-8c42-325e67010413})" ) ;
}
unsafe impl ::windows::Interface for EmailReadNotificationTriggerDetails {
type Vtable = IEmailReadNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4122452103,
1779,
20030,
[140, 66, 50, 94, 103, 1, 4, 19],
);
}
impl ::windows::RuntimeName for EmailReadNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.EmailReadNotificationTriggerDetails";
}
impl ::std::convert::From<EmailReadNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: EmailReadNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&EmailReadNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &EmailReadNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for EmailReadNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &EmailReadNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<EmailReadNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: EmailReadNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&EmailReadNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &EmailReadNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for EmailReadNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a EmailReadNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<EmailReadNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: EmailReadNotificationTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&EmailReadNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &EmailReadNotificationTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for EmailReadNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &EmailReadNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAccessoryManager(::windows::IInspectable);
unsafe impl ::windows::Interface for IAccessoryManager {
type Vtable = IAccessoryManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
218407212,
34877,
19111,
[188, 167, 250, 75, 184, 191, 254, 230],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAccessoryManager_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
pdetails: ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phoneline: ::windows::Guid,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
textresponseid: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phoneline: ::windows::Guid,
phonenumber: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phoneline: ::windows::Guid,
phonenumber: ::std::mem::ManuallyDrop<::windows::HSTRING>,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phoneline: ::windows::Guid,
phonenumber: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phoneline: ::windows::Guid,
phonenumber: ::std::mem::ManuallyDrop<::windows::HSTRING>,
endpoint: PhoneCallAudioEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallidtohold: u32,
phonecallidonhold: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
holdcall: bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
phonecallid: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: PhoneCallAudioEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PhoneCallAudioEndpoint,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
alarmid: ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
alarmid: ::windows::Guid,
timespan: ::windows_foundation::TimeSpan,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
alarmid: ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
reminderid: ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
reminderid: ::windows::Guid,
timespan: ::windows_foundation::TimeSpan,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
reminderid: ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PlaybackCapability,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PlaybackStatus,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
command: PlaybackCommand,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
appid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
appid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
appid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
accessorynotificationtypes: i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
appid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAccessoryManager2(::windows::IInspectable);
unsafe impl ::windows::Interface for IAccessoryManager2 {
type Vtable = IAccessoryManager2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3133854797,
54163,
18118,
[184, 12, 21, 253, 244, 77, 83, 134],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAccessoryManager2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
instanceid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr, step: i32) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr, step: i32) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr, mute: bool) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
ringer: bool,
vibrate: bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
emailaccount: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
emailaccount: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
emailaccount: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
emailaccount: ::std::mem::ManuallyDrop<::windows::HSTRING>,
folders: ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
messageentryid: ::windows::RawPtr,
isread: bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAccessoryManager3(::windows::IInspectable);
unsafe impl ::windows::Interface for IAccessoryManager3 {
type Vtable = IAccessoryManager3_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2180469047,
60871,
18400,
[178, 247, 126, 87, 124, 131, 63, 125],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAccessoryManager3_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
instanceid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
instanceid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
instanceid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
instanceid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct IAccessoryNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IAccessoryNotificationTriggerDetails {
type Vtable = IAccessoryNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1768466388,
58314,
18891,
[140, 135, 44, 17, 205, 255, 150, 70],
);
}
impl IAccessoryNotificationTriggerDetails {
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this = self;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for IAccessoryNotificationTriggerDetails {
const SIGNATURE: ::windows::ConstBuffer =
::windows::ConstBuffer::from_slice(b"{6968a7d4-e3ca-49cb-8c87-2c11cdff9646}");
}
impl ::std::convert::From<IAccessoryNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: IAccessoryNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&IAccessoryNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &IAccessoryNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for IAccessoryNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &IAccessoryNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<IAccessoryNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: IAccessoryNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&IAccessoryNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &IAccessoryNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for IAccessoryNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a IAccessoryNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IAccessoryNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut AccessoryNotificationType,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAlarmNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IAlarmNotificationTriggerDetails {
type Vtable = IAlarmNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
955644464,
51000,
19874,
[144, 140, 119, 93, 131, 195, 106, 187],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAlarmNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ReminderState,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAlarmNotificationTriggerDetails2(::windows::IInspectable);
unsafe impl ::windows::Interface for IAlarmNotificationTriggerDetails2 {
type Vtable = IAlarmNotificationTriggerDetails2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3474382954,
29013,
16638,
[169, 194, 123, 210, 18, 126, 248, 83],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAlarmNotificationTriggerDetails2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAppNotificationInfo(::windows::IInspectable);
unsafe impl ::windows::Interface for IAppNotificationInfo {
type Vtable = IAppNotificationInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
559398565,
57990,
17875,
[155, 234, 247, 144, 252, 33, 110, 14],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppNotificationInfo_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IBinaryId(::windows::IInspectable);
unsafe impl ::windows::Interface for IBinaryId {
type Vtable = IBinaryId_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1326294321,
21909,
17588,
[145, 129, 206, 78, 250, 63, 193, 104],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBinaryId_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u8,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ICalendarChangedNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for ICalendarChangedNotificationTriggerDetails {
type Vtable = ICalendarChangedNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1267350524,
10141,
17067,
[156, 104, 62, 135, 151, 123, 242, 22],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICalendarChangedNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut CalendarChangedEvent,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ICortanaTileNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for ICortanaTileNotificationTriggerDetails {
type Vtable = ICortanaTileNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3691971029,
5257,
18107,
[183, 59, 127, 144, 6, 126, 207, 39],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICortanaTileNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEmailAccountInfo(::windows::IInspectable);
unsafe impl ::windows::Interface for IEmailAccountInfo {
type Vtable = IEmailAccountInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3753640619,
48544,
17768,
[146, 126, 178, 237, 227, 88, 24, 161],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEmailAccountInfo_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEmailFolderInfo(::windows::IInspectable);
unsafe impl ::windows::Interface for IEmailFolderInfo {
type Vtable = IEmailFolderInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3255244046,
57911,
18134,
[144, 230, 79, 82, 158, 234, 193, 226],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEmailFolderInfo_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEmailNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IEmailNotificationTriggerDetails {
type Vtable = IEmailNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4088931858,
18127,
20080,
[142, 13, 123, 46, 4, 171, 73, 43],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEmailNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEmailNotificationTriggerDetails2(::windows::IInspectable);
unsafe impl ::windows::Interface for IEmailNotificationTriggerDetails2 {
type Vtable = IEmailNotificationTriggerDetails2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
377513955,
50543,
20167,
[190, 209, 247, 52, 224, 141, 229, 178],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEmailNotificationTriggerDetails2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IEmailReadNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IEmailReadNotificationTriggerDetails {
type Vtable = IEmailReadNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4122452103,
1779,
20030,
[140, 66, 50, 94, 103, 1, 4, 19],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IEmailReadNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IMediaControlsTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IMediaControlsTriggerDetails {
type Vtable = IMediaControlsTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4206126219,
44613,
17736,
[145, 202, 74, 176, 84, 142, 51, 181],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaControlsTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PlaybackStatus,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IMediaMetadata(::windows::IInspectable);
unsafe impl ::windows::Interface for IMediaMetadata {
type Vtable = IMediaMetadata_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2605768183,
47980,
17200,
[179, 205, 7, 4, 165, 76, 219, 128],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMediaMetadata_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::TimeSpan,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPhoneCallDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IPhoneCallDetails {
type Vtable = IPhoneCallDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
203124563,
61553,
18494,
[191, 51, 235, 212, 75, 114, 68, 71],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneCallDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PhoneCallTransport,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PhoneMediaType,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PhoneCallDirection,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PhoneCallState,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPhoneLineDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IPhoneLineDetails {
type Vtable = IPhoneLineDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1206596316,
13293,
18873,
[153, 92, 162, 150, 186, 200, 43, 119],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneLineDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PhoneLineRegistrationState,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPhoneLineDetails2(::windows::IInspectable);
unsafe impl ::windows::Interface for IPhoneLineDetails2 {
type Vtable = IPhoneLineDetails2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3003963261,
327,
18828,
[130, 65, 191, 12, 171, 198, 10, 37],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneLineDetails2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPhoneNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IPhoneNotificationTriggerDetails {
type Vtable = IPhoneNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3435331063,
2499,
16664,
[145, 188, 202, 99, 35, 168, 211, 131],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPhoneNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PhoneNotificationType,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::Guid,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IReminderNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IReminderNotificationTriggerDetails {
type Vtable = IReminderNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1541253725,
40801,
19440,
[159, 235, 16, 80, 43, 192, 176, 194],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IReminderNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ReminderState,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IReminderNotificationTriggerDetails2(::windows::IInspectable);
unsafe impl ::windows::Interface for IReminderNotificationTriggerDetails2 {
type Vtable = IReminderNotificationTriggerDetails2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3876977088,
20557,
19471,
[166, 179, 188, 185, 114, 44, 108, 221],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IReminderNotificationTriggerDetails2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ISpeedDialEntry(::windows::IInspectable);
unsafe impl ::windows::Interface for ISpeedDialEntry {
type Vtable = ISpeedDialEntry_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2453714651,
34604,
18140,
[182, 42, 190, 69, 65, 177, 102, 248],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISpeedDialEntry_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ITextResponse(::windows::IInspectable);
unsafe impl ::windows::Interface for ITextResponse {
type Vtable = ITextResponse_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3922425027,
9303,
19675,
[129, 16, 114, 245, 232, 232, 131, 232],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ITextResponse_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IToastNotificationTriggerDetails(::windows::IInspectable);
unsafe impl ::windows::Interface for IToastNotificationTriggerDetails {
type Vtable = IToastNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3375450261,
20077,
20125,
[175, 236, 158, 146, 27, 135, 90, 232],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IToastNotificationTriggerDetails_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IToastNotificationTriggerDetails2(::windows::IInspectable);
unsafe impl ::windows::Interface for IToastNotificationTriggerDetails2 {
type Vtable = IToastNotificationTriggerDetails2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1040480733,
51908,
20320,
[175, 163, 185, 37, 217, 216, 60, 147],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IToastNotificationTriggerDetails2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IVolumeInfo(::windows::IInspectable);
unsafe impl ::windows::Interface for IVolumeInfo {
type Vtable = IVolumeInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2488127768,
30468,
17537,
[185, 46, 211, 237, 62, 206, 99, 34],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IVolumeInfo_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut VibrateState,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct MediaControlsTriggerDetails(::windows::IInspectable);
impl MediaControlsTriggerDetails {
pub fn PlaybackStatus(&self) -> ::windows::Result<PlaybackStatus> {
let this = self;
unsafe {
let mut result__: PlaybackStatus = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PlaybackStatus>(result__)
}
}
pub fn MediaMetadata(&self) -> ::windows::Result<MediaMetadata> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<MediaMetadata>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for MediaControlsTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.MediaControlsTriggerDetails;{fab4648b-ae45-4548-91ca-4ab0548e33b5})" ) ;
}
unsafe impl ::windows::Interface for MediaControlsTriggerDetails {
type Vtable = IMediaControlsTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4206126219,
44613,
17736,
[145, 202, 74, 176, 84, 142, 51, 181],
);
}
impl ::windows::RuntimeName for MediaControlsTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.MediaControlsTriggerDetails";
}
impl ::std::convert::From<MediaControlsTriggerDetails> for ::windows::IUnknown {
fn from(value: MediaControlsTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&MediaControlsTriggerDetails> for ::windows::IUnknown {
fn from(value: &MediaControlsTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for MediaControlsTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &MediaControlsTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<MediaControlsTriggerDetails> for ::windows::IInspectable {
fn from(value: MediaControlsTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&MediaControlsTriggerDetails> for ::windows::IInspectable {
fn from(value: &MediaControlsTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for MediaControlsTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a MediaControlsTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<MediaControlsTriggerDetails> for IAccessoryNotificationTriggerDetails {
type Error = ::windows::Error;
fn try_from(value: MediaControlsTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&MediaControlsTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &MediaControlsTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for MediaControlsTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &MediaControlsTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct MediaMetadata(::windows::IInspectable);
impl MediaMetadata {
pub fn Title(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Subtitle(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Artist(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Album(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Track(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn Duration(&self) -> ::windows::Result<::windows_foundation::TimeSpan> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::TimeSpan = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::TimeSpan>(result__)
}
}
pub fn Thumbnail(
&self,
) -> ::windows::Result<::windows_storage::Streams::IRandomAccessStreamReference>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_storage::Streams::IRandomAccessStreamReference>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for MediaMetadata {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.MediaMetadata;{9b50ddf7-bb6c-4330-b3cd-0704a54cdb80})" ) ;
}
unsafe impl ::windows::Interface for MediaMetadata {
type Vtable = IMediaMetadata_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2605768183,
47980,
17200,
[179, 205, 7, 4, 165, 76, 219, 128],
);
}
impl ::windows::RuntimeName for MediaMetadata {
const NAME: &'static str = "Windows.Phone.Notification.Management.MediaMetadata";
}
impl ::std::convert::From<MediaMetadata> for ::windows::IUnknown {
fn from(value: MediaMetadata) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&MediaMetadata> for ::windows::IUnknown {
fn from(value: &MediaMetadata) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for MediaMetadata {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &MediaMetadata {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<MediaMetadata> for ::windows::IInspectable {
fn from(value: MediaMetadata) -> Self {
value.0
}
}
impl ::std::convert::From<&MediaMetadata> for ::windows::IInspectable {
fn from(value: &MediaMetadata) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for MediaMetadata {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a MediaMetadata {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PhoneCallAudioEndpoint(pub i32);
impl PhoneCallAudioEndpoint {
pub const Default: PhoneCallAudioEndpoint = PhoneCallAudioEndpoint(0i32);
pub const Speaker: PhoneCallAudioEndpoint = PhoneCallAudioEndpoint(1i32);
pub const Handsfree: PhoneCallAudioEndpoint = PhoneCallAudioEndpoint(2i32);
}
impl ::std::convert::From<i32> for PhoneCallAudioEndpoint {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PhoneCallAudioEndpoint {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PhoneCallAudioEndpoint {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PhoneCallAudioEndpoint;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PhoneCallDetails(::windows::IInspectable);
impl PhoneCallDetails {
pub fn PhoneLine(&self) -> ::windows::Result<::windows::Guid> {
let this = self;
unsafe {
let mut result__: ::windows::Guid = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::Guid>(result__)
}
}
pub fn CallId(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn CallTransport(&self) -> ::windows::Result<PhoneCallTransport> {
let this = self;
unsafe {
let mut result__: PhoneCallTransport = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneCallTransport>(result__)
}
}
pub fn CallMediaType(&self) -> ::windows::Result<PhoneMediaType> {
let this = self;
unsafe {
let mut result__: PhoneMediaType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneMediaType>(result__)
}
}
pub fn CallDirection(&self) -> ::windows::Result<PhoneCallDirection> {
let this = self;
unsafe {
let mut result__: PhoneCallDirection = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneCallDirection>(result__)
}
}
pub fn State(&self) -> ::windows::Result<PhoneCallState> {
let this = self;
unsafe {
let mut result__: PhoneCallState = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneCallState>(result__)
}
}
pub fn ConferenceCallId(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn StartTime(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn EndTime(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn PhoneNumber(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn ContactName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn PresetTextResponses(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<TextResponse>>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVectorView<
TextResponse,
>>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PhoneCallDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.PhoneCallDetails;{0c1b6f53-f071-483e-bf33-ebd44b724447})" ) ;
}
unsafe impl ::windows::Interface for PhoneCallDetails {
type Vtable = IPhoneCallDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
203124563,
61553,
18494,
[191, 51, 235, 212, 75, 114, 68, 71],
);
}
impl ::windows::RuntimeName for PhoneCallDetails {
const NAME: &'static str = "Windows.Phone.Notification.Management.PhoneCallDetails";
}
impl ::std::convert::From<PhoneCallDetails> for ::windows::IUnknown {
fn from(value: PhoneCallDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PhoneCallDetails> for ::windows::IUnknown {
fn from(value: &PhoneCallDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PhoneCallDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &PhoneCallDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<PhoneCallDetails> for ::windows::IInspectable {
fn from(value: PhoneCallDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&PhoneCallDetails> for ::windows::IInspectable {
fn from(value: &PhoneCallDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PhoneCallDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PhoneCallDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PhoneCallDirection(pub i32);
impl PhoneCallDirection {
pub const Incoming: PhoneCallDirection = PhoneCallDirection(0i32);
pub const Outgoing: PhoneCallDirection = PhoneCallDirection(1i32);
}
impl ::std::convert::From<i32> for PhoneCallDirection {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PhoneCallDirection {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PhoneCallDirection {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PhoneCallDirection;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PhoneCallState(pub i32);
impl PhoneCallState {
pub const Unknown: PhoneCallState = PhoneCallState(0i32);
pub const Ringing: PhoneCallState = PhoneCallState(1i32);
pub const Talking: PhoneCallState = PhoneCallState(2i32);
pub const Held: PhoneCallState = PhoneCallState(3i32);
pub const Ended: PhoneCallState = PhoneCallState(4i32);
}
impl ::std::convert::From<i32> for PhoneCallState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PhoneCallState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PhoneCallState {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PhoneCallState;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PhoneCallTransport(pub i32);
impl PhoneCallTransport {
pub const Cellular: PhoneCallTransport = PhoneCallTransport(0i32);
pub const Voip: PhoneCallTransport = PhoneCallTransport(1i32);
}
impl ::std::convert::From<i32> for PhoneCallTransport {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PhoneCallTransport {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PhoneCallTransport {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PhoneCallTransport;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PhoneLineDetails(::windows::IInspectable);
impl PhoneLineDetails {
pub fn LineId(&self) -> ::windows::Result<::windows::Guid> {
let this = self;
unsafe {
let mut result__: ::windows::Guid = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::Guid>(result__)
}
}
pub fn DisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn LineNumber(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn DefaultOutgoingLine(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn VoicemailCount(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn RegistrationState(&self) -> ::windows::Result<PhoneLineRegistrationState> {
let this = self;
unsafe {
let mut result__: PhoneLineRegistrationState = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneLineRegistrationState>(result__)
}
}
pub fn MissedCallCount(&self) -> ::windows::Result<u32> {
let this = &::windows::Interface::cast::<IPhoneLineDetails2>(self)?;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PhoneLineDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.PhoneLineDetails;{47eb32dc-33ed-49b9-995c-a296bac82b77})" ) ;
}
unsafe impl ::windows::Interface for PhoneLineDetails {
type Vtable = IPhoneLineDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1206596316,
13293,
18873,
[153, 92, 162, 150, 186, 200, 43, 119],
);
}
impl ::windows::RuntimeName for PhoneLineDetails {
const NAME: &'static str = "Windows.Phone.Notification.Management.PhoneLineDetails";
}
impl ::std::convert::From<PhoneLineDetails> for ::windows::IUnknown {
fn from(value: PhoneLineDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PhoneLineDetails> for ::windows::IUnknown {
fn from(value: &PhoneLineDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PhoneLineDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &PhoneLineDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<PhoneLineDetails> for ::windows::IInspectable {
fn from(value: PhoneLineDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&PhoneLineDetails> for ::windows::IInspectable {
fn from(value: &PhoneLineDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PhoneLineDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PhoneLineDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PhoneLineRegistrationState(pub i32);
impl PhoneLineRegistrationState {
pub const Disconnected: PhoneLineRegistrationState = PhoneLineRegistrationState(0i32);
pub const Home: PhoneLineRegistrationState = PhoneLineRegistrationState(1i32);
pub const Roaming: PhoneLineRegistrationState = PhoneLineRegistrationState(2i32);
}
impl ::std::convert::From<i32> for PhoneLineRegistrationState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PhoneLineRegistrationState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PhoneLineRegistrationState {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PhoneLineRegistrationState;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PhoneMediaType(pub i32);
impl PhoneMediaType {
pub const AudioOnly: PhoneMediaType = PhoneMediaType(0i32);
pub const AudioVideo: PhoneMediaType = PhoneMediaType(1i32);
}
impl ::std::convert::From<i32> for PhoneMediaType {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PhoneMediaType {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PhoneMediaType {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PhoneMediaType;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PhoneNotificationTriggerDetails(::windows::IInspectable);
impl PhoneNotificationTriggerDetails {
pub fn PhoneNotificationType(&self) -> ::windows::Result<PhoneNotificationType> {
let this = self;
unsafe {
let mut result__: PhoneNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneNotificationType>(result__)
}
}
pub fn CallDetails(&self) -> ::windows::Result<PhoneCallDetails> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PhoneCallDetails>(result__)
}
}
pub fn PhoneLineChangedId(&self) -> ::windows::Result<::windows::Guid> {
let this = self;
unsafe {
let mut result__: ::windows::Guid = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::Guid>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for PhoneNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.PhoneNotificationTriggerDetails;{ccc2fdf7-09c3-4118-91bc-ca6323a8d383})" ) ;
}
unsafe impl ::windows::Interface for PhoneNotificationTriggerDetails {
type Vtable = IPhoneNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3435331063,
2499,
16664,
[145, 188, 202, 99, 35, 168, 211, 131],
);
}
impl ::windows::RuntimeName for PhoneNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.PhoneNotificationTriggerDetails";
}
impl ::std::convert::From<PhoneNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: PhoneNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PhoneNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &PhoneNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PhoneNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &PhoneNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<PhoneNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: PhoneNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&PhoneNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &PhoneNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PhoneNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PhoneNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<PhoneNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: PhoneNotificationTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&PhoneNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &PhoneNotificationTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for PhoneNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &PhoneNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PhoneNotificationType(pub i32);
impl PhoneNotificationType {
pub const NewCall: PhoneNotificationType = PhoneNotificationType(0i32);
pub const CallChanged: PhoneNotificationType = PhoneNotificationType(1i32);
pub const LineChanged: PhoneNotificationType = PhoneNotificationType(2i32);
pub const PhoneCallAudioEndpointChanged: PhoneNotificationType =
PhoneNotificationType(3i32);
pub const PhoneMuteChanged: PhoneNotificationType = PhoneNotificationType(4i32);
}
impl ::std::convert::From<i32> for PhoneNotificationType {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PhoneNotificationType {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PhoneNotificationType {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PhoneNotificationType;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PlaybackCapability(pub u32);
impl PlaybackCapability {
pub const None: PlaybackCapability = PlaybackCapability(0u32);
pub const Play: PlaybackCapability = PlaybackCapability(1u32);
pub const Pause: PlaybackCapability = PlaybackCapability(2u32);
pub const Stop: PlaybackCapability = PlaybackCapability(4u32);
pub const Record: PlaybackCapability = PlaybackCapability(8u32);
pub const FastForward: PlaybackCapability = PlaybackCapability(16u32);
pub const Rewind: PlaybackCapability = PlaybackCapability(32u32);
pub const Next: PlaybackCapability = PlaybackCapability(64u32);
pub const Previous: PlaybackCapability = PlaybackCapability(128u32);
pub const ChannelUp: PlaybackCapability = PlaybackCapability(256u32);
pub const ChannelDown: PlaybackCapability = PlaybackCapability(512u32);
}
impl ::std::convert::From<u32> for PlaybackCapability {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PlaybackCapability {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PlaybackCapability {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PlaybackCapability;u4)",
);
}
impl ::std::ops::BitOr for PlaybackCapability {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for PlaybackCapability {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for PlaybackCapability {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for PlaybackCapability {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for PlaybackCapability {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PlaybackCommand(pub i32);
impl PlaybackCommand {
pub const Play: PlaybackCommand = PlaybackCommand(0i32);
pub const Pause: PlaybackCommand = PlaybackCommand(1i32);
pub const Stop: PlaybackCommand = PlaybackCommand(2i32);
pub const Record: PlaybackCommand = PlaybackCommand(3i32);
pub const FastForward: PlaybackCommand = PlaybackCommand(4i32);
pub const Rewind: PlaybackCommand = PlaybackCommand(5i32);
pub const Next: PlaybackCommand = PlaybackCommand(6i32);
pub const Previous: PlaybackCommand = PlaybackCommand(7i32);
pub const ChannelUp: PlaybackCommand = PlaybackCommand(8i32);
pub const ChannelDown: PlaybackCommand = PlaybackCommand(9i32);
}
impl ::std::convert::From<i32> for PlaybackCommand {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PlaybackCommand {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PlaybackCommand {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PlaybackCommand;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PlaybackStatus(pub i32);
impl PlaybackStatus {
pub const None: PlaybackStatus = PlaybackStatus(0i32);
pub const TrackChanged: PlaybackStatus = PlaybackStatus(1i32);
pub const Stopped: PlaybackStatus = PlaybackStatus(2i32);
pub const Playing: PlaybackStatus = PlaybackStatus(3i32);
pub const Paused: PlaybackStatus = PlaybackStatus(4i32);
}
impl ::std::convert::From<i32> for PlaybackStatus {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PlaybackStatus {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PlaybackStatus {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.PlaybackStatus;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ReminderNotificationTriggerDetails(::windows::IInspectable);
impl ReminderNotificationTriggerDetails {
pub fn ReminderId(&self) -> ::windows::Result<::windows::Guid> {
let this = self;
unsafe {
let mut result__: ::windows::Guid = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::Guid>(result__)
}
}
pub fn Title(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Description(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Details(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Timestamp(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn Appointment(
&self,
) -> ::windows::Result<::windows_applicationmodel::Appointments::Appointment>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_applicationmodel::Appointments::Appointment>(result__)
}
}
pub fn ReminderState(&self) -> ::windows::Result<ReminderState> {
let this = self;
unsafe {
let mut result__: ReminderState = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ReminderState>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn InstanceId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IReminderNotificationTriggerDetails2>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for ReminderNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.ReminderNotificationTriggerDetails;{5bddaa5d-9f61-4bf0-9feb-10502bc0b0c2})" ) ;
}
unsafe impl ::windows::Interface for ReminderNotificationTriggerDetails {
type Vtable = IReminderNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1541253725,
40801,
19440,
[159, 235, 16, 80, 43, 192, 176, 194],
);
}
impl ::windows::RuntimeName for ReminderNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.ReminderNotificationTriggerDetails";
}
impl ::std::convert::From<ReminderNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: ReminderNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ReminderNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &ReminderNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ReminderNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ReminderNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ReminderNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: ReminderNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&ReminderNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &ReminderNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ReminderNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a ReminderNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<ReminderNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: ReminderNotificationTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&ReminderNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &ReminderNotificationTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for ReminderNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &ReminderNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct ReminderState(pub i32);
impl ReminderState {
pub const Active: ReminderState = ReminderState(0i32);
pub const Snoozed: ReminderState = ReminderState(1i32);
pub const Dismissed: ReminderState = ReminderState(2i32);
}
impl ::std::convert::From<i32> for ReminderState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for ReminderState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for ReminderState {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.ReminderState;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct SpeedDialEntry(::windows::IInspectable);
impl SpeedDialEntry {
pub fn PhoneNumber(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn NumberType(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn ContactName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for SpeedDialEntry {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.SpeedDialEntry;{9240b6db-872c-46dc-b62a-be4541b166f8})" ) ;
}
unsafe impl ::windows::Interface for SpeedDialEntry {
type Vtable = ISpeedDialEntry_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2453714651,
34604,
18140,
[182, 42, 190, 69, 65, 177, 102, 248],
);
}
impl ::windows::RuntimeName for SpeedDialEntry {
const NAME: &'static str = "Windows.Phone.Notification.Management.SpeedDialEntry";
}
impl ::std::convert::From<SpeedDialEntry> for ::windows::IUnknown {
fn from(value: SpeedDialEntry) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&SpeedDialEntry> for ::windows::IUnknown {
fn from(value: &SpeedDialEntry) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for SpeedDialEntry {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &SpeedDialEntry {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<SpeedDialEntry> for ::windows::IInspectable {
fn from(value: SpeedDialEntry) -> Self {
value.0
}
}
impl ::std::convert::From<&SpeedDialEntry> for ::windows::IInspectable {
fn from(value: &SpeedDialEntry) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for SpeedDialEntry {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a SpeedDialEntry {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct TextResponse(::windows::IInspectable);
impl TextResponse {
pub fn Id(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn Content(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for TextResponse {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.TextResponse;{e9cb74c3-2457-4cdb-8110-72f5e8e883e8})" ) ;
}
unsafe impl ::windows::Interface for TextResponse {
type Vtable = ITextResponse_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3922425027,
9303,
19675,
[129, 16, 114, 245, 232, 232, 131, 232],
);
}
impl ::windows::RuntimeName for TextResponse {
const NAME: &'static str = "Windows.Phone.Notification.Management.TextResponse";
}
impl ::std::convert::From<TextResponse> for ::windows::IUnknown {
fn from(value: TextResponse) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&TextResponse> for ::windows::IUnknown {
fn from(value: &TextResponse) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for TextResponse {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &TextResponse {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<TextResponse> for ::windows::IInspectable {
fn from(value: TextResponse) -> Self {
value.0
}
}
impl ::std::convert::From<&TextResponse> for ::windows::IInspectable {
fn from(value: &TextResponse) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for TextResponse {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a TextResponse {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ToastNotificationTriggerDetails(::windows::IInspectable);
impl ToastNotificationTriggerDetails {
pub fn Text1(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Text2(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Text3(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn Text4(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SuppressPopup(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn TimeCreated(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn AppDisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AppId(&self) -> ::windows::Result<::windows::HSTRING> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn AccessoryNotificationType(
&self,
) -> ::windows::Result<AccessoryNotificationType> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: AccessoryNotificationType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AccessoryNotificationType>(result__)
}
}
pub fn StartedProcessing(&self) -> ::windows::Result<bool> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStartedProcessing(&self, value: bool) -> ::windows::Result<()> {
let this =
&::windows::Interface::cast::<IAccessoryNotificationTriggerDetails>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn InstanceId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IToastNotificationTriggerDetails2>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for ToastNotificationTriggerDetails {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.ToastNotificationTriggerDetails;{c9314895-4e6d-4e9d-afec-9e921b875ae8})" ) ;
}
unsafe impl ::windows::Interface for ToastNotificationTriggerDetails {
type Vtable = IToastNotificationTriggerDetails_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3375450261,
20077,
20125,
[175, 236, 158, 146, 27, 135, 90, 232],
);
}
impl ::windows::RuntimeName for ToastNotificationTriggerDetails {
const NAME: &'static str =
"Windows.Phone.Notification.Management.ToastNotificationTriggerDetails";
}
impl ::std::convert::From<ToastNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: ToastNotificationTriggerDetails) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ToastNotificationTriggerDetails> for ::windows::IUnknown {
fn from(value: &ToastNotificationTriggerDetails) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ToastNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ToastNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ToastNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: ToastNotificationTriggerDetails) -> Self {
value.0
}
}
impl ::std::convert::From<&ToastNotificationTriggerDetails> for ::windows::IInspectable {
fn from(value: &ToastNotificationTriggerDetails) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ToastNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ToastNotificationTriggerDetails {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<ToastNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: ToastNotificationTriggerDetails) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&ToastNotificationTriggerDetails>
for IAccessoryNotificationTriggerDetails
{
type Error = ::windows::Error;
fn try_from(value: &ToastNotificationTriggerDetails) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for ToastNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IAccessoryNotificationTriggerDetails>
for &ToastNotificationTriggerDetails
{
fn into_param(self) -> ::windows::Param<'a, IAccessoryNotificationTriggerDetails> {
::std::convert::TryInto::<IAccessoryNotificationTriggerDetails>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct VibrateState(pub i32);
impl VibrateState {
pub const RingerOffVibrateOff: VibrateState = VibrateState(0i32);
pub const RingerOffVibrateOn: VibrateState = VibrateState(1i32);
pub const RingerOnVibrateOff: VibrateState = VibrateState(2i32);
pub const RingerOnVibrateOn: VibrateState = VibrateState(3i32);
}
impl ::std::convert::From<i32> for VibrateState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for VibrateState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for VibrateState {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Notification.Management.VibrateState;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct VolumeInfo(::windows::IInspectable);
impl VolumeInfo {
pub fn SystemVolume(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn CallVolume(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn MediaVolume(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
}
}
pub fn IsMuted(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn IsVibrateEnabled(&self) -> ::windows::Result<VibrateState> {
let this = self;
unsafe {
let mut result__: VibrateState = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<VibrateState>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for VolumeInfo {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.Notification.Management.VolumeInfo;{944dd118-7704-4481-b92e-d3ed3ece6322})" ) ;
}
unsafe impl ::windows::Interface for VolumeInfo {
type Vtable = IVolumeInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2488127768,
30468,
17537,
[185, 46, 211, 237, 62, 206, 99, 34],
);
}
impl ::windows::RuntimeName for VolumeInfo {
const NAME: &'static str = "Windows.Phone.Notification.Management.VolumeInfo";
}
impl ::std::convert::From<VolumeInfo> for ::windows::IUnknown {
fn from(value: VolumeInfo) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&VolumeInfo> for ::windows::IUnknown {
fn from(value: &VolumeInfo) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for VolumeInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &VolumeInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<VolumeInfo> for ::windows::IInspectable {
fn from(value: VolumeInfo) -> Self {
value.0
}
}
impl ::std::convert::From<&VolumeInfo> for ::windows::IInspectable {
fn from(value: &VolumeInfo) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for VolumeInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a VolumeInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
}
}
pub mod PersonalInformation {
pub mod Provisioning {
pub struct ContactPartnerProvisioningManager {}
impl ContactPartnerProvisioningManager {
pub fn AssociateNetworkAccountAsync<
'a,
Param0: ::windows::IntoParam<'a, super::ContactStore>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
store: Param0,
networkname: Param1,
networkaccountid: Param2,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
Self::IContactPartnerProvisioningManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
store.into_param().abi(),
networkname.into_param().abi(),
networkaccountid.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
})
}
pub fn ImportVcardToSystemAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_storage::Streams::IInputStream>,
>(
stream: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
Self::IContactPartnerProvisioningManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
stream.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
})
}
pub fn AssociateSocialNetworkAccountAsync<
'a,
Param0: ::windows::IntoParam<'a, super::ContactStore>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
store: Param0,
networkname: Param1,
networkaccountid: Param2,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
Self::IContactPartnerProvisioningManagerStatics2(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
store.into_param().abi(),
networkname.into_param().abi(),
networkaccountid.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
})
}
pub fn IContactPartnerProvisioningManagerStatics<
R,
F: FnOnce(&IContactPartnerProvisioningManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ContactPartnerProvisioningManager,
IContactPartnerProvisioningManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IContactPartnerProvisioningManagerStatics2<
R,
F: FnOnce(&IContactPartnerProvisioningManagerStatics2) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ContactPartnerProvisioningManager,
IContactPartnerProvisioningManagerStatics2,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for ContactPartnerProvisioningManager {
const NAME: &'static str =
"Windows.Phone.PersonalInformation.Provisioning.ContactPartnerProvisioningManager";
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactPartnerProvisioningManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactPartnerProvisioningManagerStatics {
type Vtable = IContactPartnerProvisioningManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3235355169,
431,
20435,
[152, 205, 179, 214, 86, 222, 21, 244],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactPartnerProvisioningManagerStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
store: ::windows::RawPtr,
networkname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
networkaccountid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
stream: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactPartnerProvisioningManagerStatics2(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactPartnerProvisioningManagerStatics2 {
type Vtable = IContactPartnerProvisioningManagerStatics2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3261158903,
21997,
18269,
[147, 52, 197, 212, 132, 195, 15, 26],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactPartnerProvisioningManagerStatics2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
store: ::windows::RawPtr,
networkname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
networkaccountid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IMessagePartnerProvisioningManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IMessagePartnerProvisioningManagerStatics {
type Vtable = IMessagePartnerProvisioningManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2317027408,
29637,
17788,
[188, 89, 237, 125, 97, 92, 5, 164],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMessagePartnerProvisioningManagerStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
incoming: bool,
read: bool,
body: ::std::mem::ManuallyDrop<::windows::HSTRING>,
sender: ::std::mem::ManuallyDrop<::windows::HSTRING>,
recipients: ::windows::RawPtr,
deliverytime: ::windows_foundation::DateTime,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
incoming: bool,
read: bool,
subject: ::std::mem::ManuallyDrop<::windows::HSTRING>,
sender: ::std::mem::ManuallyDrop<::windows::HSTRING>,
recipients: ::windows::RawPtr,
deliverytime: ::windows_foundation::DateTime,
attachments: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
pub struct MessagePartnerProvisioningManager {}
impl MessagePartnerProvisioningManager {
pub fn ImportSmsToSystemAsync<
'a,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param3: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IVectorView<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<'a, ::windows_foundation::DateTime>,
>(
incoming: bool,
read: bool,
body: Param2,
sender: Param3,
recipients: Param4,
deliverytime: Param5,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
Self::IMessagePartnerProvisioningManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
incoming,
read,
body.into_param().abi(),
sender.into_param().abi(),
recipients.into_param().abi(),
deliverytime.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
})
}
pub fn ImportMmsToSystemAsync<
'a,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param3: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IVectorView<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<'a, ::windows_foundation::DateTime>,
Param6: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IVectorView<
::windows_foundation::Collections::IMapView<
::windows::HSTRING,
::windows::IInspectable,
>,
>,
>,
>(
incoming: bool,
read: bool,
subject: Param2,
sender: Param3,
recipients: Param4,
deliverytime: Param5,
attachments: Param6,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
Self::IMessagePartnerProvisioningManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
incoming,
read,
subject.into_param().abi(),
sender.into_param().abi(),
recipients.into_param().abi(),
deliverytime.into_param().abi(),
attachments.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
})
}
pub fn IMessagePartnerProvisioningManagerStatics<
R,
F: FnOnce(&IMessagePartnerProvisioningManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
MessagePartnerProvisioningManager,
IMessagePartnerProvisioningManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for MessagePartnerProvisioningManager {
const NAME: &'static str =
"Windows.Phone.PersonalInformation.Provisioning.MessagePartnerProvisioningManager";
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ContactAddress(::windows::IInspectable);
impl ContactAddress {
pub fn new() -> ::windows::Result<Self> {
Self::IActivationFactory(|f| f.activate_instance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&::windows::IActivationFactory) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ContactAddress,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn Country(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetCountry<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn Locality(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetLocality<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn Region(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetRegion<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn PostalCode(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetPostalCode<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn StreetAddress(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetStreetAddress<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for ContactAddress {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.PersonalInformation.ContactAddress;{5f24f927-94a9-44a2-a155-2d0b37d1dccd})" ) ;
}
unsafe impl ::windows::Interface for ContactAddress {
type Vtable = IContactAddress_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1596258599,
38057,
17570,
[161, 85, 45, 11, 55, 209, 220, 205],
);
}
impl ::windows::RuntimeName for ContactAddress {
const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactAddress";
}
impl ::std::convert::From<ContactAddress> for ::windows::IUnknown {
fn from(value: ContactAddress) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ContactAddress> for ::windows::IUnknown {
fn from(value: &ContactAddress) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ContactAddress {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ContactAddress {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ContactAddress> for ::windows::IInspectable {
fn from(value: ContactAddress) -> Self {
value.0
}
}
impl ::std::convert::From<&ContactAddress> for ::windows::IInspectable {
fn from(value: &ContactAddress) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ContactAddress {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ContactAddress {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for ContactAddress {}
unsafe impl ::std::marker::Sync for ContactAddress {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ContactChangeRecord(::windows::IInspectable);
impl ContactChangeRecord {
pub fn ChangeType(&self) -> ::windows::Result<ContactChangeType> {
let this = self;
unsafe {
let mut result__: ContactChangeType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ContactChangeType>(result__)
}
}
pub fn RevisionNumber(&self) -> ::windows::Result<u64> {
let this = self;
unsafe {
let mut result__: u64 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u64>(result__)
}
}
pub fn Id(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn RemoteId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for ContactChangeRecord {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.PersonalInformation.ContactChangeRecord;{b9d3f78f-513b-4742-be00-cc5c5c236b04})" ) ;
}
unsafe impl ::windows::Interface for ContactChangeRecord {
type Vtable = IContactChangeRecord_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3117676431,
20795,
18242,
[190, 0, 204, 92, 92, 35, 107, 4],
);
}
impl ::windows::RuntimeName for ContactChangeRecord {
const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactChangeRecord";
}
impl ::std::convert::From<ContactChangeRecord> for ::windows::IUnknown {
fn from(value: ContactChangeRecord) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ContactChangeRecord> for ::windows::IUnknown {
fn from(value: &ContactChangeRecord) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ContactChangeRecord {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ContactChangeRecord {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ContactChangeRecord> for ::windows::IInspectable {
fn from(value: ContactChangeRecord) -> Self {
value.0
}
}
impl ::std::convert::From<&ContactChangeRecord> for ::windows::IInspectable {
fn from(value: &ContactChangeRecord) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ContactChangeRecord {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ContactChangeRecord {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for ContactChangeRecord {}
unsafe impl ::std::marker::Sync for ContactChangeRecord {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct ContactChangeType(pub i32);
impl ContactChangeType {
pub const Created: ContactChangeType = ContactChangeType(0i32);
pub const Modified: ContactChangeType = ContactChangeType(1i32);
pub const Deleted: ContactChangeType = ContactChangeType(2i32);
}
impl ::std::convert::From<i32> for ContactChangeType {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for ContactChangeType {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for ContactChangeType {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.PersonalInformation.ContactChangeType;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ContactInformation(::windows::IInspectable);
impl ContactInformation {
pub fn new() -> ::windows::Result<Self> {
Self::IActivationFactory(|f| f.activate_instance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&::windows::IActivationFactory) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ContactInformation,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn DisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetDisplayName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn FamilyName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetFamilyName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn GivenName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetGivenName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn HonorificPrefix(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetHonorificPrefix<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn HonorificSuffix(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetHonorificSuffix<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn GetDisplayPictureAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn SetDisplayPictureAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_storage::Streams::IInputStream>,
>(
&self,
stream: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
stream.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn DisplayPicture(
&self,
) -> ::windows::Result<::windows_storage::Streams::IRandomAccessStreamReference> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_storage::Streams::IRandomAccessStreamReference>(result__)
}
}
pub fn GetPropertiesAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>>(result__)
}
}
pub fn ToVcardAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn ToVcardWithOptionsAsync(
&self,
format: VCardFormat,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).21)(
::std::mem::transmute_copy(this),
format,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn ParseVcardAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_storage::Streams::IInputStream>,
>(
vcard: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<ContactInformation>> {
Self::IContactInformationStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
vcard.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<ContactInformation>>(result__)
})
}
pub fn IContactInformationStatics<
R,
F: FnOnce(&IContactInformationStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ContactInformation,
IContactInformationStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for ContactInformation {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.PersonalInformation.ContactInformation;{e2b51ffc-e792-4ab7-b15b-f2e078664dea})" ) ;
}
unsafe impl ::windows::Interface for ContactInformation {
type Vtable = IContactInformation_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3803521020,
59282,
19127,
[177, 91, 242, 224, 120, 102, 77, 234],
);
}
impl ::windows::RuntimeName for ContactInformation {
const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactInformation";
}
impl ::std::convert::From<ContactInformation> for ::windows::IUnknown {
fn from(value: ContactInformation) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ContactInformation> for ::windows::IUnknown {
fn from(value: &ContactInformation) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ContactInformation> for ::windows::IInspectable {
fn from(value: ContactInformation) -> Self {
value.0
}
}
impl ::std::convert::From<&ContactInformation> for ::windows::IInspectable {
fn from(value: &ContactInformation) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::From<ContactInformation> for IContactInformation {
fn from(value: ContactInformation) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ContactInformation> for IContactInformation {
fn from(value: &ContactInformation) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, IContactInformation> for ContactInformation {
fn into_param(self) -> ::windows::Param<'a, IContactInformation> {
::windows::Param::Owned(::std::convert::Into::<IContactInformation>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, IContactInformation> for &ContactInformation {
fn into_param(self) -> ::windows::Param<'a, IContactInformation> {
::windows::Param::Owned(::std::convert::Into::<IContactInformation>::into(
::std::clone::Clone::clone(self),
))
}
}
unsafe impl ::std::marker::Send for ContactInformation {}
unsafe impl ::std::marker::Sync for ContactInformation {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ContactQueryOptions(::windows::IInspectable);
impl ContactQueryOptions {
pub fn new() -> ::windows::Result<Self> {
Self::IActivationFactory(|f| f.activate_instance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&::windows::IActivationFactory) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ContactQueryOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn DesiredFields(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows::HSTRING>>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<::windows::HSTRING>>(
result__,
)
}
}
pub fn OrderBy(&self) -> ::windows::Result<ContactQueryResultOrdering> {
let this = self;
unsafe {
let mut result__: ContactQueryResultOrdering = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ContactQueryResultOrdering>(result__)
}
}
pub fn SetOrderBy(&self, value: ContactQueryResultOrdering) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok()
}
}
}
unsafe impl ::windows::RuntimeType for ContactQueryOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.PersonalInformation.ContactQueryOptions;{580cab76-3f31-46c1-9a50-424a53dacae3})" ) ;
}
unsafe impl ::windows::Interface for ContactQueryOptions {
type Vtable = IContactQueryOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1477225334,
16177,
18113,
[154, 80, 66, 74, 83, 218, 202, 227],
);
}
impl ::windows::RuntimeName for ContactQueryOptions {
const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactQueryOptions";
}
impl ::std::convert::From<ContactQueryOptions> for ::windows::IUnknown {
fn from(value: ContactQueryOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ContactQueryOptions> for ::windows::IUnknown {
fn from(value: &ContactQueryOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ContactQueryOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ContactQueryOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ContactQueryOptions> for ::windows::IInspectable {
fn from(value: ContactQueryOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&ContactQueryOptions> for ::windows::IInspectable {
fn from(value: &ContactQueryOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ContactQueryOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ContactQueryOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for ContactQueryOptions {}
unsafe impl ::std::marker::Sync for ContactQueryOptions {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ContactQueryResult(::windows::IInspectable);
impl ContactQueryResult {
pub fn GetContactCountAsync(
&self,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<u32>> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<u32>>(result__)
}
}
pub fn GetContactsAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IVectorView<StoredContact>,
>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IVectorView<StoredContact>,
>>(result__)
}
}
pub fn GetContactsAsyncInRange(
&self,
startindex: u32,
maxnumberofitems: u32,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IVectorView<StoredContact>,
>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
startindex,
maxnumberofitems,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IVectorView<StoredContact>,
>>(result__)
}
}
pub fn GetCurrentQueryOptions(&self) -> ::windows::Result<ContactQueryOptions> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ContactQueryOptions>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for ContactQueryResult {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.PersonalInformation.ContactQueryResult;{c03db722-ecdb-4700-857e-3e786426b04b})" ) ;
}
unsafe impl ::windows::Interface for ContactQueryResult {
type Vtable = IContactQueryResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3225270050,
60635,
18176,
[133, 126, 62, 120, 100, 38, 176, 75],
);
}
impl ::windows::RuntimeName for ContactQueryResult {
const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactQueryResult";
}
impl ::std::convert::From<ContactQueryResult> for ::windows::IUnknown {
fn from(value: ContactQueryResult) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ContactQueryResult> for ::windows::IUnknown {
fn from(value: &ContactQueryResult) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ContactQueryResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ContactQueryResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ContactQueryResult> for ::windows::IInspectable {
fn from(value: ContactQueryResult) -> Self {
value.0
}
}
impl ::std::convert::From<&ContactQueryResult> for ::windows::IInspectable {
fn from(value: &ContactQueryResult) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ContactQueryResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ContactQueryResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for ContactQueryResult {}
unsafe impl ::std::marker::Sync for ContactQueryResult {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct ContactQueryResultOrdering(pub i32);
impl ContactQueryResultOrdering {
pub const SystemDefault: ContactQueryResultOrdering = ContactQueryResultOrdering(0i32);
pub const GivenNameFamilyName: ContactQueryResultOrdering =
ContactQueryResultOrdering(1i32);
pub const FamilyNameGivenName: ContactQueryResultOrdering =
ContactQueryResultOrdering(2i32);
}
impl ::std::convert::From<i32> for ContactQueryResultOrdering {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for ContactQueryResultOrdering {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for ContactQueryResultOrdering {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.PersonalInformation.ContactQueryResultOrdering;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ContactStore(::windows::IInspectable);
impl ContactStore {
pub fn FindContactByRemoteIdAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
id: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<StoredContact>> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
id.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<StoredContact>>(result__)
}
}
pub fn FindContactByIdAsync<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
id: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<StoredContact>> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
id.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<StoredContact>>(result__)
}
}
pub fn DeleteContactAsync<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
id: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
id.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn CreateContactQueryDefault(&self) -> ::windows::Result<ContactQueryResult> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ContactQueryResult>(result__)
}
}
pub fn CreateContactQueryWithOptions<
'a,
Param0: ::windows::IntoParam<'a, ContactQueryOptions>,
>(
&self,
options: Param0,
) -> ::windows::Result<ContactQueryResult> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
options.into_param().abi(),
&mut result__,
)
.from_abi::<ContactQueryResult>(result__)
}
}
pub fn DeleteAsync(&self) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn RevisionNumber(&self) -> ::windows::Result<u64> {
let this = self;
unsafe {
let mut result__: u64 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u64>(result__)
}
}
pub fn GetChangesAsync(
&self,
baserevisionnumber: u64,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IVectorView<ContactChangeRecord>,
>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
baserevisionnumber,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IVectorView<ContactChangeRecord>,
>>(result__)
}
}
pub fn LoadExtendedPropertiesAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>>(result__)
}
}
pub fn SaveExtendedPropertiesAsync<
'a,
Param0: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IMapView<
::windows::HSTRING,
::windows::IInspectable,
>,
>,
>(
&self,
data: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
data.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn CreateMeContactAsync<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
id: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<StoredContact>> {
let this = &::windows::Interface::cast::<IContactStore2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
id.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<StoredContact>>(result__)
}
}
pub fn CreateOrOpenAsync(
) -> ::windows::Result<::windows_foundation::IAsyncOperation<ContactStore>> {
Self::IContactStoreStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<ContactStore>>(result__)
})
}
pub fn CreateOrOpenWithOptionsAsync(
access: ContactStoreSystemAccessMode,
sharing: ContactStoreApplicationAccessMode,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<ContactStore>> {
Self::IContactStoreStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
access,
sharing,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<ContactStore>>(result__)
})
}
pub fn IContactStoreStatics<R, F: FnOnce(&IContactStoreStatics) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<ContactStore, IContactStoreStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for ContactStore {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.PersonalInformation.ContactStore;{b2cd6fef-2bfd-4fad-8552-4e698097e8eb})" ) ;
}
unsafe impl ::windows::Interface for ContactStore {
type Vtable = IContactStore_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2999807983,
11261,
20397,
[133, 82, 78, 105, 128, 151, 232, 235],
);
}
impl ::windows::RuntimeName for ContactStore {
const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactStore";
}
impl ::std::convert::From<ContactStore> for ::windows::IUnknown {
fn from(value: ContactStore) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ContactStore> for ::windows::IUnknown {
fn from(value: &ContactStore) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ContactStore {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &ContactStore {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<ContactStore> for ::windows::IInspectable {
fn from(value: ContactStore) -> Self {
value.0
}
}
impl ::std::convert::From<&ContactStore> for ::windows::IInspectable {
fn from(value: &ContactStore) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ContactStore {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ContactStore {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for ContactStore {}
unsafe impl ::std::marker::Sync for ContactStore {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct ContactStoreApplicationAccessMode(pub i32);
impl ContactStoreApplicationAccessMode {
pub const LimitedReadOnly: ContactStoreApplicationAccessMode =
ContactStoreApplicationAccessMode(0i32);
pub const ReadOnly: ContactStoreApplicationAccessMode =
ContactStoreApplicationAccessMode(1i32);
}
impl ::std::convert::From<i32> for ContactStoreApplicationAccessMode {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for ContactStoreApplicationAccessMode {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for ContactStoreApplicationAccessMode {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.PersonalInformation.ContactStoreApplicationAccessMode;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct ContactStoreSystemAccessMode(pub i32);
impl ContactStoreSystemAccessMode {
pub const ReadOnly: ContactStoreSystemAccessMode = ContactStoreSystemAccessMode(0i32);
pub const ReadWrite: ContactStoreSystemAccessMode = ContactStoreSystemAccessMode(1i32);
}
impl ::std::convert::From<i32> for ContactStoreSystemAccessMode {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for ContactStoreSystemAccessMode {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for ContactStoreSystemAccessMode {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.PersonalInformation.ContactStoreSystemAccessMode;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactAddress(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactAddress {
type Vtable = IContactAddress_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1596258599,
38057,
17570,
[161, 85, 45, 11, 55, 209, 220, 205],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactAddress_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactChangeRecord(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactChangeRecord {
type Vtable = IContactChangeRecord_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3117676431,
20795,
18242,
[190, 0, 204, 92, 92, 35, 107, 4],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactChangeRecord_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ContactChangeType,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u64,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct IContactInformation(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactInformation {
type Vtable = IContactInformation_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3803521020,
59282,
19127,
[177, 91, 242, 224, 120, 102, 77, 234],
);
}
impl IContactInformation {
pub fn DisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetDisplayName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn FamilyName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetFamilyName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn GivenName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetGivenName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn HonorificPrefix(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetHonorificPrefix<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn HonorificSuffix(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetHonorificSuffix<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn GetDisplayPictureAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn SetDisplayPictureAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_storage::Streams::IInputStream>,
>(
&self,
stream: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
stream.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn DisplayPicture(
&self,
) -> ::windows::Result<::windows_storage::Streams::IRandomAccessStreamReference> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_storage::Streams::IRandomAccessStreamReference>(result__)
}
}
pub fn GetPropertiesAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>>(result__)
}
}
pub fn ToVcardAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn ToVcardWithOptionsAsync(
&self,
format: VCardFormat,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).21)(
::std::mem::transmute_copy(this),
format,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for IContactInformation {
const SIGNATURE: ::windows::ConstBuffer =
::windows::ConstBuffer::from_slice(b"{e2b51ffc-e792-4ab7-b15b-f2e078664dea}");
}
impl ::std::convert::From<IContactInformation> for ::windows::IUnknown {
fn from(value: IContactInformation) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&IContactInformation> for ::windows::IUnknown {
fn from(value: &IContactInformation) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for IContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &IContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<IContactInformation> for ::windows::IInspectable {
fn from(value: IContactInformation) -> Self {
value.0
}
}
impl ::std::convert::From<&IContactInformation> for ::windows::IInspectable {
fn from(value: &IContactInformation) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for IContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a IContactInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactInformation_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
stream: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
format: VCardFormat,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct IContactInformation2(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactInformation2 {
type Vtable = IContactInformation2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
832090636,
25118,
18024,
[172, 56, 214, 103, 184, 125, 6, 213],
);
}
impl IContactInformation2 {
pub fn DisplayPictureDate(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn SetDisplayPictureDate<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::DateTime>,
>(
&self,
returnvalue: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
returnvalue.into_param().abi(),
)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for IContactInformation2 {
const SIGNATURE: ::windows::ConstBuffer =
::windows::ConstBuffer::from_slice(b"{3198b20c-621e-4668-ac38-d667b87d06d5}");
}
impl ::std::convert::From<IContactInformation2> for ::windows::IUnknown {
fn from(value: IContactInformation2) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&IContactInformation2> for ::windows::IUnknown {
fn from(value: &IContactInformation2) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for IContactInformation2 {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &IContactInformation2 {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<IContactInformation2> for ::windows::IInspectable {
fn from(value: IContactInformation2) -> Self {
value.0
}
}
impl ::std::convert::From<&IContactInformation2> for ::windows::IInspectable {
fn from(value: &IContactInformation2) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for IContactInformation2 {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a IContactInformation2 {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactInformation2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
returnvalue: ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactInformationStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactInformationStatics {
type Vtable = IContactInformationStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
258456361,
976,
19430,
[178, 165, 251, 19, 133, 159, 18, 2],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactInformationStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
vcard: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactQueryOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactQueryOptions {
type Vtable = IContactQueryOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1477225334,
16177,
18113,
[154, 80, 66, 74, 83, 218, 202, 227],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactQueryOptions_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ContactQueryResultOrdering,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ContactQueryResultOrdering,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactQueryResult(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactQueryResult {
type Vtable = IContactQueryResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3225270050,
60635,
18176,
[133, 126, 62, 120, 100, 38, 176, 75],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactQueryResult_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
startindex: u32,
maxnumberofitems: u32,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactStore(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactStore {
type Vtable = IContactStore_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2999807983,
11261,
20397,
[133, 82, 78, 105, 128, 151, 232, 235],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactStore_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
id: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
id: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
id: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
options: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u64,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
baserevisionnumber: u64,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
data: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactStore2(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactStore2 {
type Vtable = IContactStore2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1710339663,
54867,
17319,
[178, 54, 179, 12, 15, 77, 114, 105],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactStore2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
id: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IContactStoreStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IContactStoreStatics {
type Vtable = IContactStoreStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2818899490,
19435,
17612,
[165, 114, 103, 165, 185, 46, 133, 103],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IContactStoreStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
access: ContactStoreSystemAccessMode,
sharing: ContactStoreApplicationAccessMode,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IKnownContactPropertiesStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IKnownContactPropertiesStatics {
type Vtable = IKnownContactPropertiesStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3582012161,
11501,
20198,
[177, 214, 9, 75, 248, 142, 240, 182],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IKnownContactPropertiesStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IStoredContact(::windows::IInspectable);
unsafe impl ::windows::Interface for IStoredContact {
type Vtable = IStoredContact_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2960177073,
9789,
20081,
[171, 231, 89, 29, 36, 102, 87, 14],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IStoredContact_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
id: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IStoredContactFactory(::windows::IInspectable);
unsafe impl ::windows::Interface for IStoredContactFactory {
type Vtable = IStoredContactFactory_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1240328481,
49701,
20441,
[137, 197, 206, 204, 44, 138, 75, 121],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IStoredContactFactory_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
store: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
store: ::windows::RawPtr,
contact: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
pub struct KnownContactProperties {}
impl KnownContactProperties {
pub fn DisplayName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn FamilyName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn GivenName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn HonorificPrefix() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn HonorificSuffix() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn AdditionalName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Address() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn OtherAddress() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Email() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn WorkAddress() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn WorkTelephone() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn JobTitle() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Birthdate() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Anniversary() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Telephone() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn MobileTelephone() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).21)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Url() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).22)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Notes() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).23)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn WorkFax() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).24)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Children() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).25)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn SignificantOther() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).26)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn CompanyName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).27)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn CompanyTelephone() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).28)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn HomeFax() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).29)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn AlternateTelephone() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).30)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Manager() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).31)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn Nickname() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).32)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn OfficeLocation() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).33)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn WorkEmail() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).34)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn YomiGivenName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).35)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn YomiFamilyName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).36)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn YomiCompanyName() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).37)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn OtherEmail() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).38)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn AlternateMobileTelephone() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).39)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn AlternateWorkTelephone() -> ::windows::Result<::windows::HSTRING> {
Self::IKnownContactPropertiesStatics(|this| unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).40)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
})
}
pub fn IKnownContactPropertiesStatics<
R,
F: FnOnce(&IKnownContactPropertiesStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
KnownContactProperties,
IKnownContactPropertiesStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for KnownContactProperties {
const NAME: &'static str = "Windows.Phone.PersonalInformation.KnownContactProperties";
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct StoredContact(::windows::IInspectable);
impl StoredContact {
pub fn Store(&self) -> ::windows::Result<ContactStore> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<ContactStore>(result__)
}
}
pub fn Id(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn RemoteId(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetRemoteId<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn GetExtendedPropertiesAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>>(result__)
}
}
pub fn SaveAsync(&self) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn ReplaceExistingContactAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
id: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
id.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn DisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetDisplayName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn FamilyName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetFamilyName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn GivenName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetGivenName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn HonorificPrefix(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetHonorificPrefix<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn HonorificSuffix(&self) -> ::windows::Result<::windows::HSTRING> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetHonorificSuffix<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn GetDisplayPictureAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn SetDisplayPictureAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_storage::Streams::IInputStream>,
>(
&self,
stream: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
stream.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn DisplayPicture(
&self,
) -> ::windows::Result<::windows_storage::Streams::IRandomAccessStreamReference> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_storage::Streams::IRandomAccessStreamReference>(result__)
}
}
pub fn GetPropertiesAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>,
> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IMap<
::windows::HSTRING,
::windows::IInspectable,
>,
>>(result__)
}
}
pub fn ToVcardAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn ToVcardWithOptionsAsync(
&self,
format: VCardFormat,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows_storage::Streams::IRandomAccessStream>,
> {
let this = &::windows::Interface::cast::<IContactInformation>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).21)(
::std::mem::transmute_copy(this),
format,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<
::windows_storage::Streams::IRandomAccessStream,
>>(result__)
}
}
pub fn DisplayPictureDate(&self) -> ::windows::Result<::windows_foundation::DateTime> {
let this = &::windows::Interface::cast::<IContactInformation2>(self)?;
unsafe {
let mut result__: ::windows_foundation::DateTime = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::DateTime>(result__)
}
}
pub fn SetDisplayPictureDate<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::DateTime>,
>(
&self,
returnvalue: Param0,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IContactInformation2>(self)?;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
returnvalue.into_param().abi(),
)
.ok()
}
}
pub fn CreateStoredContact<'a, Param0: ::windows::IntoParam<'a, ContactStore>>(
store: Param0,
) -> ::windows::Result<StoredContact> {
Self::IStoredContactFactory(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
store.into_param().abi(),
&mut result__,
)
.from_abi::<StoredContact>(result__)
})
}
pub fn CreateStoredContactFromInformation<
'a,
Param0: ::windows::IntoParam<'a, ContactStore>,
Param1: ::windows::IntoParam<'a, ContactInformation>,
>(
store: Param0,
contact: Param1,
) -> ::windows::Result<StoredContact> {
Self::IStoredContactFactory(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
store.into_param().abi(),
contact.into_param().abi(),
&mut result__,
)
.from_abi::<StoredContact>(result__)
})
}
pub fn IStoredContactFactory<
R,
F: FnOnce(&IStoredContactFactory) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<StoredContact, IStoredContactFactory> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for StoredContact {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.PersonalInformation.StoredContact;{b070b7b1-263d-4e71-abe7-591d2466570e})" ) ;
}
unsafe impl ::windows::Interface for StoredContact {
type Vtable = IStoredContact_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2960177073,
9789,
20081,
[171, 231, 89, 29, 36, 102, 87, 14],
);
}
impl ::windows::RuntimeName for StoredContact {
const NAME: &'static str = "Windows.Phone.PersonalInformation.StoredContact";
}
impl ::std::convert::From<StoredContact> for ::windows::IUnknown {
fn from(value: StoredContact) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&StoredContact> for ::windows::IUnknown {
fn from(value: &StoredContact) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for StoredContact {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &StoredContact {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<StoredContact> for ::windows::IInspectable {
fn from(value: StoredContact) -> Self {
value.0
}
}
impl ::std::convert::From<&StoredContact> for ::windows::IInspectable {
fn from(value: &StoredContact) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for StoredContact {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a StoredContact {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
impl ::std::convert::TryFrom<StoredContact> for IContactInformation {
type Error = ::windows::Error;
fn try_from(value: StoredContact) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&StoredContact> for IContactInformation {
type Error = ::windows::Error;
fn try_from(value: &StoredContact) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IContactInformation> for StoredContact {
fn into_param(self) -> ::windows::Param<'a, IContactInformation> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IContactInformation> for &StoredContact {
fn into_param(self) -> ::windows::Param<'a, IContactInformation> {
::std::convert::TryInto::<IContactInformation>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
impl ::std::convert::TryFrom<StoredContact> for IContactInformation2 {
type Error = ::windows::Error;
fn try_from(value: StoredContact) -> ::windows::Result<Self> {
::std::convert::TryFrom::try_from(&value)
}
}
impl ::std::convert::TryFrom<&StoredContact> for IContactInformation2 {
type Error = ::windows::Error;
fn try_from(value: &StoredContact) -> ::windows::Result<Self> {
::windows::Interface::cast(value)
}
}
impl<'a> ::windows::IntoParam<'a, IContactInformation2> for StoredContact {
fn into_param(self) -> ::windows::Param<'a, IContactInformation2> {
::windows::IntoParam::into_param(&self)
}
}
impl<'a> ::windows::IntoParam<'a, IContactInformation2> for &StoredContact {
fn into_param(self) -> ::windows::Param<'a, IContactInformation2> {
::std::convert::TryInto::<IContactInformation2>::try_into(self)
.map(::windows::Param::Owned)
.unwrap_or(::windows::Param::None)
}
}
unsafe impl ::std::marker::Send for StoredContact {}
unsafe impl ::std::marker::Sync for StoredContact {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct VCardFormat(pub i32);
impl VCardFormat {
pub const Version2_1: VCardFormat = VCardFormat(0i32);
pub const Version3: VCardFormat = VCardFormat(1i32);
}
impl ::std::convert::From<i32> for VCardFormat {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for VCardFormat {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for VCardFormat {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.PersonalInformation.VCardFormat;i4)",
);
}
}
pub mod Speech {
pub mod Recognition {
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct SpeechRecognitionUIStatus(pub i32);
impl SpeechRecognitionUIStatus {
pub const Succeeded: SpeechRecognitionUIStatus = SpeechRecognitionUIStatus(0i32);
pub const Busy: SpeechRecognitionUIStatus = SpeechRecognitionUIStatus(1i32);
pub const Cancelled: SpeechRecognitionUIStatus = SpeechRecognitionUIStatus(2i32);
pub const Preempted: SpeechRecognitionUIStatus = SpeechRecognitionUIStatus(3i32);
pub const PrivacyPolicyDeclined: SpeechRecognitionUIStatus =
SpeechRecognitionUIStatus(4i32);
}
impl ::std::convert::From<i32> for SpeechRecognitionUIStatus {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for SpeechRecognitionUIStatus {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for SpeechRecognitionUIStatus {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.Speech.Recognition.SpeechRecognitionUIStatus;i4)",
);
}
}
}
pub mod StartScreen {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct DualSimTile(::windows::IInspectable);
impl DualSimTile {
pub fn new() -> ::windows::Result<Self> {
Self::IActivationFactory(|f| f.activate_instance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&::windows::IActivationFactory) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<DualSimTile, ::windows::IActivationFactory> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn SetDisplayName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn DisplayName(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
unsafe {
let mut result__: ::std::mem::ManuallyDrop<::windows::HSTRING> =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn IsPinnedToStart(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn CreateAsync(
&self,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<bool>> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<bool>>(result__)
}
}
pub fn UpdateAsync(
&self,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<bool>> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<bool>>(result__)
}
}
pub fn DeleteAsync(
&self,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<bool>> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<bool>>(result__)
}
}
pub fn GetTileForSim2() -> ::windows::Result<DualSimTile> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<DualSimTile>(result__)
})
}
pub fn UpdateDisplayNameForSim1Async<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
name: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<bool>> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
name.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<bool>>(result__)
})
}
pub fn CreateTileUpdaterForSim1(
) -> ::windows::Result<::windows_ui::Notifications::TileUpdater> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_ui::Notifications::TileUpdater>(result__)
})
}
pub fn CreateTileUpdaterForSim2(
) -> ::windows::Result<::windows_ui::Notifications::TileUpdater> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_ui::Notifications::TileUpdater>(result__)
})
}
pub fn CreateBadgeUpdaterForSim1(
) -> ::windows::Result<::windows_ui::Notifications::BadgeUpdater> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_ui::Notifications::BadgeUpdater>(result__)
})
}
pub fn CreateBadgeUpdaterForSim2(
) -> ::windows::Result<::windows_ui::Notifications::BadgeUpdater> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_ui::Notifications::BadgeUpdater>(result__)
})
}
pub fn CreateToastNotifierForSim1(
) -> ::windows::Result<::windows_ui::Notifications::ToastNotifier> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_ui::Notifications::ToastNotifier>(result__)
})
}
pub fn CreateToastNotifierForSim2(
) -> ::windows::Result<::windows_ui::Notifications::ToastNotifier> {
Self::IDualSimTileStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_ui::Notifications::ToastNotifier>(result__)
})
}
pub fn IDualSimTileStatics<R, F: FnOnce(&IDualSimTileStatics) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<DualSimTile, IDualSimTileStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for DualSimTile {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"rc(Windows.Phone.StartScreen.DualSimTile;{143ab213-d05f-4041-a18c-3e3fcb75b41e})",
);
}
unsafe impl ::windows::Interface for DualSimTile {
type Vtable = IDualSimTile_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
339390995,
53343,
16449,
[161, 140, 62, 63, 203, 117, 180, 30],
);
}
impl ::windows::RuntimeName for DualSimTile {
const NAME: &'static str = "Windows.Phone.StartScreen.DualSimTile";
}
impl ::std::convert::From<DualSimTile> for ::windows::IUnknown {
fn from(value: DualSimTile) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&DualSimTile> for ::windows::IUnknown {
fn from(value: &DualSimTile) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for DualSimTile {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &DualSimTile {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<DualSimTile> for ::windows::IInspectable {
fn from(value: DualSimTile) -> Self {
value.0
}
}
impl ::std::convert::From<&DualSimTile> for ::windows::IInspectable {
fn from(value: &DualSimTile) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for DualSimTile {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a DualSimTile {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(C)]
#[derive(
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
)]
pub struct DualSimTileContract(pub u8);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IDualSimTile(::windows::IInspectable);
unsafe impl ::windows::Interface for IDualSimTile {
type Vtable = IDualSimTile_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
339390995,
53343,
16449,
[161, 140, 62, 63, 203, 117, 180, 30],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDualSimTile_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IDualSimTileStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IDualSimTileStatics {
type Vtable = IDualSimTileStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1347845278,
50575,
19913,
[182, 232, 250, 103, 119, 238, 235, 55],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDualSimTileStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
name: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct IToastNotificationManagerStatics3(::windows::IInspectable);
unsafe impl ::windows::Interface for IToastNotificationManagerStatics3 {
type Vtable = IToastNotificationManagerStatics3_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
655881547,
20703,
17493,
[142, 110, 65, 224, 252, 142, 19, 206],
);
}
impl IToastNotificationManagerStatics3 {
pub fn CreateToastNotifierForSecondaryTile<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
tileid: Param0,
) -> ::windows::Result<::windows_ui::Notifications::ToastNotifier> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
tileid.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_ui::Notifications::ToastNotifier>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for IToastNotificationManagerStatics3 {
const SIGNATURE: ::windows::ConstBuffer =
::windows::ConstBuffer::from_slice(b"{2717f54b-50df-4455-8e6e-41e0fc8e13ce}");
}
impl ::std::convert::From<IToastNotificationManagerStatics3> for ::windows::IUnknown {
fn from(value: IToastNotificationManagerStatics3) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&IToastNotificationManagerStatics3> for ::windows::IUnknown {
fn from(value: &IToastNotificationManagerStatics3) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for IToastNotificationManagerStatics3 {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &IToastNotificationManagerStatics3 {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<IToastNotificationManagerStatics3> for ::windows::IInspectable {
fn from(value: IToastNotificationManagerStatics3) -> Self {
value.0
}
}
impl ::std::convert::From<&IToastNotificationManagerStatics3> for ::windows::IInspectable {
fn from(value: &IToastNotificationManagerStatics3) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for IToastNotificationManagerStatics3 {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a IToastNotificationManagerStatics3
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IToastNotificationManagerStatics3_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
tileid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
}
pub mod System {
pub mod Power {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPowerManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IPowerManagerStatics {
type Vtable = IPowerManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
635342800,
7259,
4577,
[189, 219, 8, 0, 32, 12, 154, 102],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPowerManagerStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut PowerSavingMode,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
changehandler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
token: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPowerManagerStatics2(::windows::IInspectable);
unsafe impl ::windows::Interface for IPowerManagerStatics2 {
type Vtable = IPowerManagerStatics2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1499608783,
6424,
17745,
[164, 102, 197, 26, 174, 55, 59, 248],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPowerManagerStatics2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
);
pub struct PowerManager {}
impl PowerManager {
pub fn PowerSavingMode() -> ::windows::Result<PowerSavingMode> {
Self::IPowerManagerStatics(|this| unsafe {
let mut result__: PowerSavingMode = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PowerSavingMode>(result__)
})
}
pub fn PowerSavingModeChanged<
'a,
Param0: ::windows::IntoParam<
'a,
::windows_foundation::EventHandler<::windows::IInspectable>,
>,
>(
changehandler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
Self::IPowerManagerStatics(|this| unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
changehandler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
})
}
pub fn RemovePowerSavingModeChanged<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
token: Param0,
) -> ::windows::Result<()> {
Self::IPowerManagerStatics(|this| unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
token.into_param().abi(),
)
.ok()
})
}
pub fn PowerSavingModeEnabled() -> ::windows::Result<bool> {
Self::IPowerManagerStatics2(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn IPowerManagerStatics<
R,
F: FnOnce(&IPowerManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<PowerManager, IPowerManagerStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IPowerManagerStatics2<
R,
F: FnOnce(&IPowerManagerStatics2) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<PowerManager, IPowerManagerStatics2> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for PowerManager {
const NAME: &'static str = "Windows.Phone.System.Power.PowerManager";
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PowerSavingMode(pub i32);
impl PowerSavingMode {
pub const Off: PowerSavingMode = PowerSavingMode(0i32);
pub const On: PowerSavingMode = PowerSavingMode(1i32);
}
impl ::std::convert::From<i32> for PowerSavingMode {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PowerSavingMode {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PowerSavingMode {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Phone.System.Power.PowerSavingMode;i4)",
);
}
}
pub mod Profile {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IRetailModeStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IRetailModeStatics {
type Vtable = IRetailModeStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3621703721,
64986,
17383,
[147, 251, 229, 58, 182, 232, 158, 195],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IRetailModeStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
);
pub struct RetailMode {}
impl RetailMode {
#[cfg(feature = "deprecated")]
pub fn RetailModeEnabled() -> ::windows::Result<bool> {
Self::IRetailModeStatics(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn IRetailModeStatics<R, F: FnOnce(&IRetailModeStatics) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<RetailMode, IRetailModeStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for RetailMode {
const NAME: &'static str = "Windows.Phone.System.Profile.RetailMode";
}
}
pub mod UserProfile {
pub mod GameServices {
pub mod Core {
pub struct GameService {}
impl GameService {
pub fn ServiceUri() -> ::windows::Result<::windows_foundation::Uri> {
Self::IGameService(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Uri>(result__)
})
}
pub fn GetGamerProfileAsync() -> ::windows::Result<
::windows_foundation::IAsyncOperation<GameServicePropertyCollection>,
> {
Self::IGameService(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
( :: windows :: Interface :: vtable ( this ) .7 ) ( :: std :: mem :: transmute_copy ( this ) , & mut result__ ) . from_abi :: < ::windows_foundation:: IAsyncOperation :: < GameServicePropertyCollection > > ( result__ )
})
}
pub fn GetInstalledGameItemsAsync() -> ::windows::Result<
::windows_foundation::IAsyncOperation<GameServicePropertyCollection>,
> {
Self::IGameService(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
( :: windows :: Interface :: vtable ( this ) .8 ) ( :: std :: mem :: transmute_copy ( this ) , & mut result__ ) . from_abi :: < ::windows_foundation:: IAsyncOperation :: < GameServicePropertyCollection > > ( result__ )
})
}
pub fn GetPartnerTokenAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
audienceuri: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<::windows::HSTRING>>
{
Self::IGameService(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
audienceuri.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<::windows::HSTRING>>(
result__,
)
})
}
pub fn GetPrivilegesAsync(
) -> ::windows::Result<::windows_foundation::IAsyncOperation<::windows::HSTRING>>
{
Self::IGameService(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<::windows::HSTRING>>(
result__,
)
})
}
pub fn GrantAchievement(achievementid: u32) -> ::windows::Result<()> {
Self::IGameService(|this| unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
achievementid,
)
.ok()
})
}
pub fn GrantAvatarAward(avatarawardid: u32) -> ::windows::Result<()> {
Self::IGameService(|this| unsafe {
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
avatarawardid,
)
.ok()
})
}
pub fn PostResult<
'a,
Param4: ::windows::IntoParam<'a, ::windows_storage::Streams::IBuffer>,
>(
gamevariant: u32,
scorekind: GameServiceScoreKind,
scorevalue: i64,
gameoutcome: GameServiceGameOutcome,
buffer: Param4,
) -> ::windows::Result<()> {
Self::IGameService(|this| unsafe {
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
gamevariant,
scorekind,
scorevalue,
gameoutcome,
buffer.into_param().abi(),
)
.ok()
})
}
pub fn NotifyPartnerTokenExpired<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
audienceuri: Param0,
) -> ::windows::Result<()> {
Self::IGameService2(|this| unsafe {
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
audienceuri.into_param().abi(),
)
.ok()
})
}
pub fn GetAuthenticationStatus() -> ::windows::Result<u32> {
Self::IGameService2(|this| unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<u32>(result__)
})
}
pub fn IGameService<R, F: FnOnce(&IGameService) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<GameService, IGameService> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IGameService2<R, F: FnOnce(&IGameService2) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<GameService, IGameService2> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for GameService {
const NAME: &'static str =
"Windows.Phone.System.UserProfile.GameServices.Core.GameService";
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct GameServiceGameOutcome(pub i32);
impl GameServiceGameOutcome {
pub const None: GameServiceGameOutcome = GameServiceGameOutcome(0i32);
pub const Win: GameServiceGameOutcome = GameServiceGameOutcome(1i32);
pub const Loss: GameServiceGameOutcome = GameServiceGameOutcome(2i32);
pub const Tie: GameServiceGameOutcome = GameServiceGameOutcome(3i32);
}
impl ::std::convert::From<i32> for GameServiceGameOutcome {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for GameServiceGameOutcome {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for GameServiceGameOutcome {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.Phone.System.UserProfile.GameServices.Core.GameServiceGameOutcome;i4)" ) ;
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct GameServicePropertyCollection(::windows::IInspectable);
impl GameServicePropertyCollection {
pub fn GetPropertyAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
propertyname: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<::windows::IInspectable>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
( :: windows :: Interface :: vtable ( this ) .6 ) ( :: std :: mem :: transmute_copy ( this ) , propertyname . into_param ( ) . abi ( ) , & mut result__ ) . from_abi :: < ::windows_foundation:: IAsyncOperation :: < :: windows :: IInspectable > > ( result__ )
}
}
}
unsafe impl ::windows::RuntimeType for GameServicePropertyCollection {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.System.UserProfile.GameServices.Core.GameServicePropertyCollection;{07e57fc8-debb-4609-9cc8-529d16bc2bd9})" ) ;
}
unsafe impl ::windows::Interface for GameServicePropertyCollection {
type Vtable = IGameServicePropertyCollection_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
132480968,
57019,
17929,
[156, 200, 82, 157, 22, 188, 43, 217],
);
}
impl ::windows::RuntimeName for GameServicePropertyCollection {
const NAME : & 'static str ="Windows.Phone.System.UserProfile.GameServices.Core.GameServicePropertyCollection" ;
}
impl ::std::convert::From<GameServicePropertyCollection> for ::windows::IUnknown {
fn from(value: GameServicePropertyCollection) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&GameServicePropertyCollection> for ::windows::IUnknown {
fn from(value: &GameServicePropertyCollection) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for GameServicePropertyCollection {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
self,
))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &GameServicePropertyCollection {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<GameServicePropertyCollection> for ::windows::IInspectable {
fn from(value: GameServicePropertyCollection) -> Self {
value.0
}
}
impl ::std::convert::From<&GameServicePropertyCollection> for ::windows::IInspectable {
fn from(value: &GameServicePropertyCollection) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for GameServicePropertyCollection {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a GameServicePropertyCollection {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for GameServicePropertyCollection {}
unsafe impl ::std::marker::Sync for GameServicePropertyCollection {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct GameServiceScoreKind(pub i32);
impl GameServiceScoreKind {
pub const Number: GameServiceScoreKind = GameServiceScoreKind(0i32);
pub const Time: GameServiceScoreKind = GameServiceScoreKind(1i32);
}
impl ::std::convert::From<i32> for GameServiceScoreKind {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for GameServiceScoreKind {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for GameServiceScoreKind {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.Phone.System.UserProfile.GameServices.Core.GameServiceScoreKind;i4)" ) ;
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IGameService(::windows::IInspectable);
unsafe impl ::windows::Interface for IGameService {
type Vtable = IGameService_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
774721688,
18601,
20220,
[175, 214, 142, 109, 160, 144, 3, 251],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGameService_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
audienceuri: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
achievementid: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
avatarawardid: u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
gamevariant: u32,
scorekind: GameServiceScoreKind,
scorevalue: i64,
gameoutcome: GameServiceGameOutcome,
buffer: ::windows::RawPtr,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IGameService2(::windows::IInspectable);
unsafe impl ::windows::Interface for IGameService2 {
type Vtable = IGameService2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3526774518,
59927,
19429,
[141, 138, 200, 96, 136, 94, 5, 31],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGameService2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
audienceuri: ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IGameServicePropertyCollection(::windows::IInspectable);
unsafe impl ::windows::Interface for IGameServicePropertyCollection {
type Vtable = IGameServicePropertyCollection_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
132480968,
57019,
17929,
[156, 200, 82, 157, 22, 188, 43, 217],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IGameServicePropertyCollection_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
propertyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
}
}
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ISystemProtectionStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for ISystemProtectionStatics {
type Vtable = ISystemProtectionStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1237542240,
38881,
19865,
[139, 251, 190, 254, 170, 106, 206, 109],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISystemProtectionStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ISystemProtectionUnlockStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for ISystemProtectionUnlockStatics {
type Vtable = ISystemProtectionUnlockStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
110295615,
36625,
19531,
[170, 13, 135, 215, 175, 123, 23, 121],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISystemProtectionUnlockStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> ::windows::HRESULT,
);
pub struct SystemProtection {}
impl SystemProtection {
pub fn ScreenLocked() -> ::windows::Result<bool> {
Self::ISystemProtectionStatics(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn RequestScreenUnlock() -> ::windows::Result<()> {
Self::ISystemProtectionUnlockStatics(|this| unsafe {
(::windows::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok()
})
}
pub fn ISystemProtectionStatics<
R,
F: FnOnce(&ISystemProtectionStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<SystemProtection, ISystemProtectionStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn ISystemProtectionUnlockStatics<
R,
F: FnOnce(&ISystemProtectionUnlockStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
SystemProtection,
ISystemProtectionUnlockStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for SystemProtection {
const NAME: &'static str = "Windows.Phone.System.SystemProtection";
}
}
pub mod UI {
pub mod Input {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct BackPressedEventArgs(::windows::IInspectable);
impl BackPressedEventArgs {
pub fn Handled(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetHandled(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for BackPressedEventArgs {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.UI.Input.BackPressedEventArgs;{f6f555ff-64ec-42a2-b93b-2fbc0c36a121})" ) ;
}
unsafe impl ::windows::Interface for BackPressedEventArgs {
type Vtable = IBackPressedEventArgs_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4143273471,
25836,
17058,
[185, 59, 47, 188, 12, 54, 161, 33],
);
}
impl ::windows::RuntimeName for BackPressedEventArgs {
const NAME: &'static str = "Windows.Phone.UI.Input.BackPressedEventArgs";
}
impl ::std::convert::From<BackPressedEventArgs> for ::windows::IUnknown {
fn from(value: BackPressedEventArgs) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&BackPressedEventArgs> for ::windows::IUnknown {
fn from(value: &BackPressedEventArgs) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for BackPressedEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &BackPressedEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<BackPressedEventArgs> for ::windows::IInspectable {
fn from(value: BackPressedEventArgs) -> Self {
value.0
}
}
impl ::std::convert::From<&BackPressedEventArgs> for ::windows::IInspectable {
fn from(value: &BackPressedEventArgs) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for BackPressedEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a BackPressedEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for BackPressedEventArgs {}
unsafe impl ::std::marker::Sync for BackPressedEventArgs {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct CameraEventArgs(::windows::IInspectable);
impl CameraEventArgs {}
unsafe impl ::windows::RuntimeType for CameraEventArgs {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Phone.UI.Input.CameraEventArgs;{b4063bda-201f-473d-bc69-e9e4ac57c9d0})" ) ;
}
unsafe impl ::windows::Interface for CameraEventArgs {
type Vtable = ICameraEventArgs_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3020307418,
8223,
18237,
[188, 105, 233, 228, 172, 87, 201, 208],
);
}
impl ::windows::RuntimeName for CameraEventArgs {
const NAME: &'static str = "Windows.Phone.UI.Input.CameraEventArgs";
}
impl ::std::convert::From<CameraEventArgs> for ::windows::IUnknown {
fn from(value: CameraEventArgs) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&CameraEventArgs> for ::windows::IUnknown {
fn from(value: &CameraEventArgs) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for CameraEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(self))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for &CameraEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IUnknown> {
::windows::Param::Owned(::std::convert::Into::<::windows::IUnknown>::into(
::std::clone::Clone::clone(self),
))
}
}
impl ::std::convert::From<CameraEventArgs> for ::windows::IInspectable {
fn from(value: CameraEventArgs) -> Self {
value.0
}
}
impl ::std::convert::From<&CameraEventArgs> for ::windows::IInspectable {
fn from(value: &CameraEventArgs) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for CameraEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a CameraEventArgs {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for CameraEventArgs {}
unsafe impl ::std::marker::Sync for CameraEventArgs {}
pub struct HardwareButtons {}
impl HardwareButtons {
pub fn BackPressed<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventHandler<BackPressedEventArgs>>,
>(
handler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
Self::IHardwareButtonsStatics(|this| unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
handler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
})
}
pub fn RemoveBackPressed<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
token: Param0,
) -> ::windows::Result<()> {
Self::IHardwareButtonsStatics(|this| unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
token.into_param().abi(),
)
.ok()
})
}
pub fn CameraHalfPressed<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventHandler<CameraEventArgs>>,
>(
handler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
Self::IHardwareButtonsStatics2(|this| unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
handler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
})
}
pub fn RemoveCameraHalfPressed<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
token: Param0,
) -> ::windows::Result<()> {
Self::IHardwareButtonsStatics2(|this| unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
token.into_param().abi(),
)
.ok()
})
}
pub fn CameraPressed<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventHandler<CameraEventArgs>>,
>(
handler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
Self::IHardwareButtonsStatics2(|this| unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
handler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
})
}
pub fn RemoveCameraPressed<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
token: Param0,
) -> ::windows::Result<()> {
Self::IHardwareButtonsStatics2(|this| unsafe {
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
token.into_param().abi(),
)
.ok()
})
}
pub fn CameraReleased<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventHandler<CameraEventArgs>>,
>(
handler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
Self::IHardwareButtonsStatics2(|this| unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
handler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
})
}
pub fn RemoveCameraReleased<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
token: Param0,
) -> ::windows::Result<()> {
Self::IHardwareButtonsStatics2(|this| unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
token.into_param().abi(),
)
.ok()
})
}
pub fn IHardwareButtonsStatics<
R,
F: FnOnce(&IHardwareButtonsStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
HardwareButtons,
IHardwareButtonsStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IHardwareButtonsStatics2<
R,
F: FnOnce(&IHardwareButtonsStatics2) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
HardwareButtons,
IHardwareButtonsStatics2,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for HardwareButtons {
const NAME: &'static str = "Windows.Phone.UI.Input.HardwareButtons";
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IBackPressedEventArgs(::windows::IInspectable);
unsafe impl ::windows::Interface for IBackPressedEventArgs {
type Vtable = IBackPressedEventArgs_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4143273471,
25836,
17058,
[185, 59, 47, 188, 12, 54, 161, 33],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IBackPressedEventArgs_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ICameraEventArgs(::windows::IInspectable);
unsafe impl ::windows::Interface for ICameraEventArgs {
type Vtable = ICameraEventArgs_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3020307418,
8223,
18237,
[188, 105, 233, 228, 172, 87, 201, 208],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICameraEventArgs_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IHardwareButtonsStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IHardwareButtonsStatics {
type Vtable = IHardwareButtonsStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1498122112,
55910,
20440,
[167, 118, 117, 6, 189, 12, 191, 167],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IHardwareButtonsStatics_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
handler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
token: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IHardwareButtonsStatics2(::windows::IInspectable);
unsafe impl ::windows::Interface for IHardwareButtonsStatics2 {
type Vtable = IHardwareButtonsStatics2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
969327220,
39231,
16605,
[133, 76, 131, 26, 137, 52, 185, 46],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IHardwareButtonsStatics2_abi(
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
iid: &::windows::Guid,
interface: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(this: ::windows::RawPtr) -> u32,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
count: *mut u32,
values: *mut *mut ::windows::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: *mut i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
handler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
token: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
handler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
token: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
handler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
token: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
);
}
}
#[repr(C)]
#[derive(
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
)]
pub struct PhoneContract(pub u8);