#![allow(
unused_variables,
non_upper_case_globals,
non_snake_case,
unused_unsafe,
non_camel_case_types,
dead_code,
clippy::all
)]
pub mod Core {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct ApplicationDataManager(::windows::IInspectable);
impl ApplicationDataManager {
pub fn CreateForPackageFamily<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
packagefamilyname: Param0,
) -> ::windows::Result<::windows_storage::ApplicationData> {
Self::IApplicationDataManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_storage::ApplicationData>(result__)
})
}
pub fn IApplicationDataManagerStatics<
R,
F: FnOnce(&IApplicationDataManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ApplicationDataManager,
IApplicationDataManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for ApplicationDataManager {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Core.ApplicationDataManager;{74d10432-2e99-4000-9a3a-64307e858129})" ) ;
}
unsafe impl ::windows::Interface for ApplicationDataManager {
type Vtable = IApplicationDataManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1959855154,
11929,
16384,
[154, 58, 100, 48, 126, 133, 129, 41],
);
}
impl ::windows::RuntimeName for ApplicationDataManager {
const NAME: &'static str = "Windows.Management.Core.ApplicationDataManager";
}
impl ::std::convert::From<ApplicationDataManager> for ::windows::IUnknown {
fn from(value: ApplicationDataManager) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&ApplicationDataManager> for ::windows::IUnknown {
fn from(value: &ApplicationDataManager) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for ApplicationDataManager {
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 &ApplicationDataManager {
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<ApplicationDataManager> for ::windows::IInspectable {
fn from(value: ApplicationDataManager) -> Self {
value.0
}
}
impl ::std::convert::From<&ApplicationDataManager> for ::windows::IInspectable {
fn from(value: &ApplicationDataManager) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for ApplicationDataManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a ApplicationDataManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for ApplicationDataManager {}
unsafe impl ::std::marker::Sync for ApplicationDataManager {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IApplicationDataManager(::windows::IInspectable);
unsafe impl ::windows::Interface for IApplicationDataManager {
type Vtable = IApplicationDataManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1959855154,
11929,
16384,
[154, 58, 100, 48, 126, 133, 129, 41],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplicationDataManager_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 IApplicationDataManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IApplicationDataManagerStatics {
type Vtable = IApplicationDataManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
504914659,
27022,
18849,
[151, 82, 222, 233, 73, 37, 185, 179],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplicationDataManagerStatics_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,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
}
pub mod Deployment {
pub mod Preview {
pub struct ClassicAppManager {}
impl ClassicAppManager {
pub fn FindInstalledApp<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
appuninstallkey: Param0,
) -> ::windows::Result<InstalledClassicAppInfo> {
Self::IClassicAppManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
appuninstallkey.into_param().abi(),
&mut result__,
)
.from_abi::<InstalledClassicAppInfo>(result__)
})
}
pub fn IClassicAppManagerStatics<
R,
F: FnOnce(&IClassicAppManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
ClassicAppManager,
IClassicAppManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for ClassicAppManager {
const NAME: &'static str = "Windows.Management.Deployment.Preview.ClassicAppManager";
}
#[repr(C)]
#[derive(
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
)]
pub struct DeploymentPreviewContract(pub u8);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IClassicAppManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IClassicAppManagerStatics {
type Vtable = IClassicAppManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3808089704,
34860,
20275,
[176, 53, 13, 247, 185, 13, 103, 230],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IClassicAppManagerStatics_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,
appuninstallkey: ::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 IInstalledClassicAppInfo(::windows::IInspectable);
unsafe impl ::windows::Interface for IInstalledClassicAppInfo {
type Vtable = IInstalledClassicAppInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
175979939,
26064,
16518,
[128, 214, 6, 16, 215, 96, 32, 125],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IInstalledClassicAppInfo_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,
)]
pub struct InstalledClassicAppInfo(::windows::IInspectable);
impl InstalledClassicAppInfo {
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 DisplayVersion(&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 InstalledClassicAppInfo {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.Preview.InstalledClassicAppInfo;{0a7d3da3-65d0-4086-80d6-0610d760207d})" ) ;
}
unsafe impl ::windows::Interface for InstalledClassicAppInfo {
type Vtable = IInstalledClassicAppInfo_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
175979939,
26064,
16518,
[128, 214, 6, 16, 215, 96, 32, 125],
);
}
impl ::windows::RuntimeName for InstalledClassicAppInfo {
const NAME: &'static str =
"Windows.Management.Deployment.Preview.InstalledClassicAppInfo";
}
impl ::std::convert::From<InstalledClassicAppInfo> for ::windows::IUnknown {
fn from(value: InstalledClassicAppInfo) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&InstalledClassicAppInfo> for ::windows::IUnknown {
fn from(value: &InstalledClassicAppInfo) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for InstalledClassicAppInfo {
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 &InstalledClassicAppInfo {
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<InstalledClassicAppInfo> for ::windows::IInspectable {
fn from(value: InstalledClassicAppInfo) -> Self {
value.0
}
}
impl ::std::convert::From<&InstalledClassicAppInfo> for ::windows::IInspectable {
fn from(value: &InstalledClassicAppInfo) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for InstalledClassicAppInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a InstalledClassicAppInfo {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for InstalledClassicAppInfo {}
unsafe impl ::std::marker::Sync for InstalledClassicAppInfo {}
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct AddPackageByAppInstallerOptions(pub u32);
impl AddPackageByAppInstallerOptions {
pub const None: AddPackageByAppInstallerOptions = AddPackageByAppInstallerOptions(0u32);
pub const InstallAllResources: AddPackageByAppInstallerOptions =
AddPackageByAppInstallerOptions(32u32);
pub const ForceTargetAppShutdown: AddPackageByAppInstallerOptions =
AddPackageByAppInstallerOptions(64u32);
pub const RequiredContentGroupOnly: AddPackageByAppInstallerOptions =
AddPackageByAppInstallerOptions(256u32);
pub const LimitToExistingPackages: AddPackageByAppInstallerOptions =
AddPackageByAppInstallerOptions(512u32);
}
impl ::std::convert::From<u32> for AddPackageByAppInstallerOptions {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for AddPackageByAppInstallerOptions {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for AddPackageByAppInstallerOptions {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.AddPackageByAppInstallerOptions;u4)",
);
}
impl ::std::ops::BitOr for AddPackageByAppInstallerOptions {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for AddPackageByAppInstallerOptions {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for AddPackageByAppInstallerOptions {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for AddPackageByAppInstallerOptions {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for AddPackageByAppInstallerOptions {
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 AddPackageOptions(::windows::IInspectable);
impl AddPackageOptions {
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<
AddPackageOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn DependencyPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
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_foundation::Uri,
>>(result__)
}
}
pub fn TargetVolume(&self) -> ::windows::Result<PackageVolume> {
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::<PackageVolume>(result__)
}
}
pub fn SetTargetVolume<'a, Param0: ::windows::IntoParam<'a, PackageVolume>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn OptionalPackageFamilyNames(
&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).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<::windows::HSTRING>>(
result__,
)
}
}
pub fn OptionalPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
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::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn RelatedPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
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::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn ExternalLocationUri(&self) -> ::windows::Result<::windows_foundation::Uri> {
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_foundation::Uri>(result__)
}
}
pub fn SetExternalLocationUri<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
&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 StubPackageOption(&self) -> ::windows::Result<StubPackageOption> {
let this = self;
unsafe {
let mut result__: StubPackageOption = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<StubPackageOption>(result__)
}
}
pub fn SetStubPackageOption(&self, value: StubPackageOption) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn DeveloperMode(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetDeveloperMode(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceAppShutdown(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceAppShutdown(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceTargetAppShutdown(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceTargetAppShutdown(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceUpdateFromAnyVersion(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).22)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn InstallAllResources(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).24)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetInstallAllResources(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn RequiredContentGroupOnly(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).26)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetRequiredContentGroupOnly(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn RetainFilesOnFailure(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).28)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetRetainFilesOnFailure(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn StageInPlace(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).30)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStageInPlace(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).31)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn AllowUnsigned(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).32)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetAllowUnsigned(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).33)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn DeferRegistrationWhenPackagesAreInUse(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).34)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetDeferRegistrationWhenPackagesAreInUse(
&self,
value: bool,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for AddPackageOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.AddPackageOptions;{05cee018-f68f-422b-95a4-66679ec77fc0})" ) ;
}
unsafe impl ::windows::Interface for AddPackageOptions {
type Vtable = IAddPackageOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
97443864,
63119,
16939,
[149, 164, 102, 103, 158, 199, 127, 192],
);
}
impl ::windows::RuntimeName for AddPackageOptions {
const NAME: &'static str = "Windows.Management.Deployment.AddPackageOptions";
}
impl ::std::convert::From<AddPackageOptions> for ::windows::IUnknown {
fn from(value: AddPackageOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&AddPackageOptions> for ::windows::IUnknown {
fn from(value: &AddPackageOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for AddPackageOptions {
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 &AddPackageOptions {
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<AddPackageOptions> for ::windows::IInspectable {
fn from(value: AddPackageOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&AddPackageOptions> for ::windows::IInspectable {
fn from(value: &AddPackageOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for AddPackageOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a AddPackageOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for AddPackageOptions {}
unsafe impl ::std::marker::Sync for AddPackageOptions {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct AppInstallerManager(::windows::IInspectable);
impl AppInstallerManager {
pub fn SetAutoUpdateSettings<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, AutoUpdateSettingsOptions>,
>(
&self,
packagefamilyname: Param0,
appinstallerinfo: Param1,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
appinstallerinfo.into_param().abi(),
)
.ok()
}
}
pub fn ClearAutoUpdateSettings<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagefamilyname: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
)
.ok()
}
}
pub fn PauseAutoUpdatesUntil<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows_foundation::DateTime>,
>(
&self,
packagefamilyname: Param0,
datetime: Param1,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
datetime.into_param().abi(),
)
.ok()
}
}
pub fn GetDefault() -> ::windows::Result<AppInstallerManager> {
Self::IAppInstallerManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AppInstallerManager>(result__)
})
}
pub fn GetForSystem() -> ::windows::Result<AppInstallerManager> {
Self::IAppInstallerManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<AppInstallerManager>(result__)
})
}
pub fn IAppInstallerManagerStatics<
R,
F: FnOnce(&IAppInstallerManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
AppInstallerManager,
IAppInstallerManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for AppInstallerManager {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.AppInstallerManager;{e7ee21c3-2103-53ee-9b18-68afeab0033d})" ) ;
}
unsafe impl ::windows::Interface for AppInstallerManager {
type Vtable = IAppInstallerManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3891143107,
8451,
21486,
[155, 24, 104, 175, 234, 176, 3, 61],
);
}
impl ::windows::RuntimeName for AppInstallerManager {
const NAME: &'static str = "Windows.Management.Deployment.AppInstallerManager";
}
impl ::std::convert::From<AppInstallerManager> for ::windows::IUnknown {
fn from(value: AppInstallerManager) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&AppInstallerManager> for ::windows::IUnknown {
fn from(value: &AppInstallerManager) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for AppInstallerManager {
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 &AppInstallerManager {
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<AppInstallerManager> for ::windows::IInspectable {
fn from(value: AppInstallerManager) -> Self {
value.0
}
}
impl ::std::convert::From<&AppInstallerManager> for ::windows::IInspectable {
fn from(value: &AppInstallerManager) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for AppInstallerManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a AppInstallerManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for AppInstallerManager {}
unsafe impl ::std::marker::Sync for AppInstallerManager {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct AutoUpdateSettingsOptions(::windows::IInspectable);
impl AutoUpdateSettingsOptions {
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<
AutoUpdateSettingsOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn Version(&self) -> ::windows::Result<::windows_applicationmodel::PackageVersion> {
let this = self;
unsafe {
let mut result__: ::windows_applicationmodel::PackageVersion = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_applicationmodel::PackageVersion>(result__)
}
}
pub fn SetVersion<
'a,
Param0: ::windows::IntoParam<'a, ::windows_applicationmodel::PackageVersion>,
>(
&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 AppInstallerUri(&self) -> ::windows::Result<::windows_foundation::Uri> {
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::<::windows_foundation::Uri>(result__)
}
}
pub fn SetAppInstallerUri<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
&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 OnLaunch(&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 SetOnLaunch(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn HoursBetweenUpdateChecks(&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 SetHoursBetweenUpdateChecks(&self, value: u32) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ShowPrompt(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetShowPrompt(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn UpdateBlocksActivation(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetUpdateBlocksActivation(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn AutomaticBackgroundTask(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetAutomaticBackgroundTask(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceUpdateFromAnyVersion(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn IsAutoRepairEnabled(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).22)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetIsAutoRepairEnabled(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn UpdateUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).24)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn RepairUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).25)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn DependencyPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).26)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn OptionalPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).27)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn CreateFromAppInstallerInfo<
'a,
Param0: ::windows::IntoParam<'a, ::windows_applicationmodel::AppInstallerInfo>,
>(
appinstallerinfo: Param0,
) -> ::windows::Result<AutoUpdateSettingsOptions> {
Self::IAutoUpdateSettingsOptionsStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
appinstallerinfo.into_param().abi(),
&mut result__,
)
.from_abi::<AutoUpdateSettingsOptions>(result__)
})
}
pub fn IAutoUpdateSettingsOptionsStatics<
R,
F: FnOnce(&IAutoUpdateSettingsOptionsStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
AutoUpdateSettingsOptions,
IAutoUpdateSettingsOptionsStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for AutoUpdateSettingsOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.AutoUpdateSettingsOptions;{67491d87-35e1-512a-8968-1ae88d1be6d3})" ) ;
}
unsafe impl ::windows::Interface for AutoUpdateSettingsOptions {
type Vtable = IAutoUpdateSettingsOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1732844935,
13793,
20778,
[137, 104, 26, 232, 141, 27, 230, 211],
);
}
impl ::windows::RuntimeName for AutoUpdateSettingsOptions {
const NAME: &'static str = "Windows.Management.Deployment.AutoUpdateSettingsOptions";
}
impl ::std::convert::From<AutoUpdateSettingsOptions> for ::windows::IUnknown {
fn from(value: AutoUpdateSettingsOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&AutoUpdateSettingsOptions> for ::windows::IUnknown {
fn from(value: &AutoUpdateSettingsOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for AutoUpdateSettingsOptions {
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 &AutoUpdateSettingsOptions {
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<AutoUpdateSettingsOptions> for ::windows::IInspectable {
fn from(value: AutoUpdateSettingsOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&AutoUpdateSettingsOptions> for ::windows::IInspectable {
fn from(value: &AutoUpdateSettingsOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for AutoUpdateSettingsOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a AutoUpdateSettingsOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for AutoUpdateSettingsOptions {}
unsafe impl ::std::marker::Sync for AutoUpdateSettingsOptions {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct CreateSharedPackageContainerOptions(::windows::IInspectable);
impl CreateSharedPackageContainerOptions {
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<
CreateSharedPackageContainerOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn Members(
&self,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<SharedPackageContainerMember>,
> {
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<
SharedPackageContainerMember,
>>(result__)
}
}
pub fn ForceAppShutdown(&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__)
}
}
pub fn SetForceAppShutdown(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok()
}
}
pub fn CreateCollisionOption(
&self,
) -> ::windows::Result<SharedPackageContainerCreationCollisionOptions> {
let this = self;
unsafe {
let mut result__: SharedPackageContainerCreationCollisionOptions =
::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<SharedPackageContainerCreationCollisionOptions>(result__)
}
}
pub fn SetCreateCollisionOption(
&self,
value: SharedPackageContainerCreationCollisionOptions,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for CreateSharedPackageContainerOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.CreateSharedPackageContainerOptions;{c2ab6ece-f664-5c8e-a4b3-2a33276d3dde})" ) ;
}
unsafe impl ::windows::Interface for CreateSharedPackageContainerOptions {
type Vtable = ICreateSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3266014926,
63076,
23694,
[164, 179, 42, 51, 39, 109, 61, 222],
);
}
impl ::windows::RuntimeName for CreateSharedPackageContainerOptions {
const NAME: &'static str =
"Windows.Management.Deployment.CreateSharedPackageContainerOptions";
}
impl ::std::convert::From<CreateSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: CreateSharedPackageContainerOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&CreateSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: &CreateSharedPackageContainerOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for CreateSharedPackageContainerOptions {
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 &CreateSharedPackageContainerOptions {
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<CreateSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: CreateSharedPackageContainerOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&CreateSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: &CreateSharedPackageContainerOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for CreateSharedPackageContainerOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a CreateSharedPackageContainerOptions
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for CreateSharedPackageContainerOptions {}
unsafe impl ::std::marker::Sync for CreateSharedPackageContainerOptions {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct CreateSharedPackageContainerResult(::windows::IInspectable);
impl CreateSharedPackageContainerResult {
pub fn Container(&self) -> ::windows::Result<SharedPackageContainer> {
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::<SharedPackageContainer>(result__)
}
}
pub fn Status(&self) -> ::windows::Result<SharedPackageContainerOperationStatus> {
let this = self;
unsafe {
let mut result__: SharedPackageContainerOperationStatus = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<SharedPackageContainerOperationStatus>(result__)
}
}
pub fn ExtendedError(&self) -> ::windows::Result<::windows::HRESULT> {
let this = self;
unsafe {
let mut result__: ::windows::HRESULT = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HRESULT>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for CreateSharedPackageContainerResult {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.CreateSharedPackageContainerResult;{ce8810bf-151c-5707-b936-497e564afc7a})" ) ;
}
unsafe impl ::windows::Interface for CreateSharedPackageContainerResult {
type Vtable = ICreateSharedPackageContainerResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3465023679,
5404,
22279,
[185, 54, 73, 126, 86, 74, 252, 122],
);
}
impl ::windows::RuntimeName for CreateSharedPackageContainerResult {
const NAME: &'static str =
"Windows.Management.Deployment.CreateSharedPackageContainerResult";
}
impl ::std::convert::From<CreateSharedPackageContainerResult> for ::windows::IUnknown {
fn from(value: CreateSharedPackageContainerResult) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&CreateSharedPackageContainerResult> for ::windows::IUnknown {
fn from(value: &CreateSharedPackageContainerResult) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for CreateSharedPackageContainerResult {
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 &CreateSharedPackageContainerResult {
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<CreateSharedPackageContainerResult> for ::windows::IInspectable {
fn from(value: CreateSharedPackageContainerResult) -> Self {
value.0
}
}
impl ::std::convert::From<&CreateSharedPackageContainerResult> for ::windows::IInspectable {
fn from(value: &CreateSharedPackageContainerResult) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for CreateSharedPackageContainerResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a CreateSharedPackageContainerResult
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for CreateSharedPackageContainerResult {}
unsafe impl ::std::marker::Sync for CreateSharedPackageContainerResult {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct DeleteSharedPackageContainerOptions(::windows::IInspectable);
impl DeleteSharedPackageContainerOptions {
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<
DeleteSharedPackageContainerOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn ForceAppShutdown(&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 SetForceAppShutdown(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok()
}
}
pub fn AllUsers(&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 SetAllUsers(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok()
}
}
}
unsafe impl ::windows::RuntimeType for DeleteSharedPackageContainerOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.DeleteSharedPackageContainerOptions;{9d81865f-986e-5138-8b5d-384d8e66ed6c})" ) ;
}
unsafe impl ::windows::Interface for DeleteSharedPackageContainerOptions {
type Vtable = IDeleteSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2642511455,
39022,
20792,
[139, 93, 56, 77, 142, 102, 237, 108],
);
}
impl ::windows::RuntimeName for DeleteSharedPackageContainerOptions {
const NAME: &'static str =
"Windows.Management.Deployment.DeleteSharedPackageContainerOptions";
}
impl ::std::convert::From<DeleteSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: DeleteSharedPackageContainerOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&DeleteSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: &DeleteSharedPackageContainerOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for DeleteSharedPackageContainerOptions {
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 &DeleteSharedPackageContainerOptions {
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<DeleteSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: DeleteSharedPackageContainerOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&DeleteSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: &DeleteSharedPackageContainerOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for DeleteSharedPackageContainerOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a DeleteSharedPackageContainerOptions
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for DeleteSharedPackageContainerOptions {}
unsafe impl ::std::marker::Sync for DeleteSharedPackageContainerOptions {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct DeleteSharedPackageContainerResult(::windows::IInspectable);
impl DeleteSharedPackageContainerResult {
pub fn Status(&self) -> ::windows::Result<SharedPackageContainerOperationStatus> {
let this = self;
unsafe {
let mut result__: SharedPackageContainerOperationStatus = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<SharedPackageContainerOperationStatus>(result__)
}
}
pub fn ExtendedError(&self) -> ::windows::Result<::windows::HRESULT> {
let this = self;
unsafe {
let mut result__: ::windows::HRESULT = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HRESULT>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for DeleteSharedPackageContainerResult {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.DeleteSharedPackageContainerResult;{35398884-5736-517b-85bc-e598c81ab284})" ) ;
}
unsafe impl ::windows::Interface for DeleteSharedPackageContainerResult {
type Vtable = IDeleteSharedPackageContainerResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
892962948,
22326,
20859,
[133, 188, 229, 152, 200, 26, 178, 132],
);
}
impl ::windows::RuntimeName for DeleteSharedPackageContainerResult {
const NAME: &'static str =
"Windows.Management.Deployment.DeleteSharedPackageContainerResult";
}
impl ::std::convert::From<DeleteSharedPackageContainerResult> for ::windows::IUnknown {
fn from(value: DeleteSharedPackageContainerResult) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&DeleteSharedPackageContainerResult> for ::windows::IUnknown {
fn from(value: &DeleteSharedPackageContainerResult) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for DeleteSharedPackageContainerResult {
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 &DeleteSharedPackageContainerResult {
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<DeleteSharedPackageContainerResult> for ::windows::IInspectable {
fn from(value: DeleteSharedPackageContainerResult) -> Self {
value.0
}
}
impl ::std::convert::From<&DeleteSharedPackageContainerResult> for ::windows::IInspectable {
fn from(value: &DeleteSharedPackageContainerResult) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for DeleteSharedPackageContainerResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a DeleteSharedPackageContainerResult
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for DeleteSharedPackageContainerResult {}
unsafe impl ::std::marker::Sync for DeleteSharedPackageContainerResult {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct DeploymentOptions(pub u32);
impl DeploymentOptions {
pub const None: DeploymentOptions = DeploymentOptions(0u32);
pub const ForceApplicationShutdown: DeploymentOptions = DeploymentOptions(1u32);
pub const DevelopmentMode: DeploymentOptions = DeploymentOptions(2u32);
pub const InstallAllResources: DeploymentOptions = DeploymentOptions(32u32);
pub const ForceTargetApplicationShutdown: DeploymentOptions = DeploymentOptions(64u32);
pub const RequiredContentGroupOnly: DeploymentOptions = DeploymentOptions(256u32);
pub const ForceUpdateFromAnyVersion: DeploymentOptions = DeploymentOptions(262144u32);
pub const RetainFilesOnFailure: DeploymentOptions = DeploymentOptions(2097152u32);
pub const StageInPlace: DeploymentOptions = DeploymentOptions(4194304u32);
}
impl ::std::convert::From<u32> for DeploymentOptions {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for DeploymentOptions {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for DeploymentOptions {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.DeploymentOptions;u4)",
);
}
impl ::std::ops::BitOr for DeploymentOptions {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for DeploymentOptions {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for DeploymentOptions {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for DeploymentOptions {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for DeploymentOptions {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
#[repr(C)]
pub struct DeploymentProgress {
pub state: DeploymentProgressState,
pub percentage: u32,
}
impl DeploymentProgress {}
impl ::std::default::Default for DeploymentProgress {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
impl ::std::fmt::Debug for DeploymentProgress {
fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
fmt.debug_struct("DeploymentProgress")
.field("state", &self.state)
.field("percentage", &self.percentage)
.finish()
}
}
impl ::std::cmp::PartialEq for DeploymentProgress {
fn eq(&self, other: &Self) -> bool {
self.state == other.state && self.percentage == other.percentage
}
}
impl ::std::cmp::Eq for DeploymentProgress {}
unsafe impl ::windows::Abi for DeploymentProgress {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for DeploymentProgress {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"struct(Windows.Management.Deployment.DeploymentProgress;enum(Windows.Management.Deployment.DeploymentProgressState;i4);u4)" ) ;
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct DeploymentProgressState(pub i32);
impl DeploymentProgressState {
pub const Queued: DeploymentProgressState = DeploymentProgressState(0i32);
pub const Processing: DeploymentProgressState = DeploymentProgressState(1i32);
}
impl ::std::convert::From<i32> for DeploymentProgressState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for DeploymentProgressState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for DeploymentProgressState {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.DeploymentProgressState;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct DeploymentResult(::windows::IInspectable);
impl DeploymentResult {
pub fn ErrorText(&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 ActivityId(&self) -> ::windows::Result<::windows::Guid> {
let this = self;
unsafe {
let mut result__: ::windows::Guid = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::Guid>(result__)
}
}
pub fn ExtendedErrorCode(&self) -> ::windows::Result<::windows::HRESULT> {
let this = self;
unsafe {
let mut result__: ::windows::HRESULT = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HRESULT>(result__)
}
}
pub fn IsRegistered(&self) -> ::windows::Result<bool> {
let this = &::windows::Interface::cast::<IDeploymentResult2>(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__)
}
}
}
unsafe impl ::windows::RuntimeType for DeploymentResult {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.DeploymentResult;{2563b9ae-b77d-4c1f-8a7b-20e6ad515ef3})" ) ;
}
unsafe impl ::windows::Interface for DeploymentResult {
type Vtable = IDeploymentResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
627292590,
46973,
19487,
[138, 123, 32, 230, 173, 81, 94, 243],
);
}
impl ::windows::RuntimeName for DeploymentResult {
const NAME: &'static str = "Windows.Management.Deployment.DeploymentResult";
}
impl ::std::convert::From<DeploymentResult> for ::windows::IUnknown {
fn from(value: DeploymentResult) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&DeploymentResult> for ::windows::IUnknown {
fn from(value: &DeploymentResult) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for DeploymentResult {
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 &DeploymentResult {
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<DeploymentResult> for ::windows::IInspectable {
fn from(value: DeploymentResult) -> Self {
value.0
}
}
impl ::std::convert::From<&DeploymentResult> for ::windows::IInspectable {
fn from(value: &DeploymentResult) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for DeploymentResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a DeploymentResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for DeploymentResult {}
unsafe impl ::std::marker::Sync for DeploymentResult {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct FindSharedPackageContainerOptions(::windows::IInspectable);
impl FindSharedPackageContainerOptions {
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<
FindSharedPackageContainerOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
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).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetName<'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 PackageFamilyName(&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 SetPackageFamilyName<'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()
}
}
}
unsafe impl ::windows::RuntimeType for FindSharedPackageContainerOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.FindSharedPackageContainerOptions;{b40fc8fe-8384-54cc-817d-ae09d3b6a606})" ) ;
}
unsafe impl ::windows::Interface for FindSharedPackageContainerOptions {
type Vtable = IFindSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3020933374,
33668,
21708,
[129, 125, 174, 9, 211, 182, 166, 6],
);
}
impl ::windows::RuntimeName for FindSharedPackageContainerOptions {
const NAME: &'static str =
"Windows.Management.Deployment.FindSharedPackageContainerOptions";
}
impl ::std::convert::From<FindSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: FindSharedPackageContainerOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&FindSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: &FindSharedPackageContainerOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for FindSharedPackageContainerOptions {
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 &FindSharedPackageContainerOptions {
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<FindSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: FindSharedPackageContainerOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&FindSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: &FindSharedPackageContainerOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for FindSharedPackageContainerOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a FindSharedPackageContainerOptions
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for FindSharedPackageContainerOptions {}
unsafe impl ::std::marker::Sync for FindSharedPackageContainerOptions {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAddPackageOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IAddPackageOptions {
type Vtable = IAddPackageOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
97443864,
63119,
16939,
[149, 164, 102, 103, 158, 199, 127, 192],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAddPackageOptions_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,
value: ::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,
value: ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut StubPackageOption,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: StubPackageOption,
) -> ::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,
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,
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,
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,
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,
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,
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,
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,
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,
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 IAppInstallerManager(::windows::IInspectable);
unsafe impl ::windows::Interface for IAppInstallerManager {
type Vtable = IAppInstallerManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3891143107,
8451,
21486,
[155, 24, 104, 175, 234, 176, 3, 61],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppInstallerManager_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,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
appinstallerinfo: ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
datetime: ::windows_foundation::DateTime,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAppInstallerManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IAppInstallerManagerStatics {
type Vtable = IAppInstallerManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3378147029,
64601,
21302,
[155, 46, 43, 7, 197, 230, 20, 52],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppInstallerManagerStatics_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,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IAutoUpdateSettingsOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IAutoUpdateSettingsOptions {
type Vtable = IAutoUpdateSettingsOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1732844935,
13793,
20778,
[137, 104, 26, 232, 141, 27, 230, 211],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutoUpdateSettingsOptions_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_applicationmodel::PackageVersion,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::windows_applicationmodel::PackageVersion,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: ::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, value: bool) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut u32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr, value: u32) -> ::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,
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,
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,
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,
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,
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,
)]
#[doc(hidden)]
pub struct IAutoUpdateSettingsOptionsStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IAutoUpdateSettingsOptionsStatics {
type Vtable = IAutoUpdateSettingsOptionsStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2289775485,
3077,
21712,
[189, 73, 59, 183, 162, 192, 132, 203],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutoUpdateSettingsOptionsStatics_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,
appinstallerinfo: ::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 ICreateSharedPackageContainerOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for ICreateSharedPackageContainerOptions {
type Vtable = ICreateSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3266014926,
63076,
23694,
[164, 179, 42, 51, 39, 109, 61, 222],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICreateSharedPackageContainerOptions_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 bool,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(this: ::windows::RawPtr, value: bool) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut SharedPackageContainerCreationCollisionOptions,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: SharedPackageContainerCreationCollisionOptions,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ICreateSharedPackageContainerResult(::windows::IInspectable);
unsafe impl ::windows::Interface for ICreateSharedPackageContainerResult {
type Vtable = ICreateSharedPackageContainerResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3465023679,
5404,
22279,
[185, 54, 73, 126, 86, 74, 252, 122],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ICreateSharedPackageContainerResult_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 SharedPackageContainerOperationStatus,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::HRESULT,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IDeleteSharedPackageContainerOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IDeleteSharedPackageContainerOptions {
type Vtable = IDeleteSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2642511455,
39022,
20792,
[139, 93, 56, 77, 142, 102, 237, 108],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDeleteSharedPackageContainerOptions_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,
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 IDeleteSharedPackageContainerResult(::windows::IInspectable);
unsafe impl ::windows::Interface for IDeleteSharedPackageContainerResult {
type Vtable = IDeleteSharedPackageContainerResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
892962948,
22326,
20859,
[133, 188, 229, 152, 200, 26, 178, 132],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDeleteSharedPackageContainerResult_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 SharedPackageContainerOperationStatus,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::HRESULT,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IDeploymentResult(::windows::IInspectable);
unsafe impl ::windows::Interface for IDeploymentResult {
type Vtable = IDeploymentResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
627292590,
46973,
19487,
[138, 123, 32, 230, 173, 81, 94, 243],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDeploymentResult_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::Guid,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::HRESULT,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IDeploymentResult2(::windows::IInspectable);
unsafe impl ::windows::Interface for IDeploymentResult2 {
type Vtable = IDeploymentResult2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4228804956,
23041,
19415,
[188, 241, 56, 28, 140, 130, 224, 74],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IDeploymentResult2_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 IFindSharedPackageContainerOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IFindSharedPackageContainerOptions {
type Vtable = IFindSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3020933374,
33668,
21708,
[129, 125, 174, 9, 211, 182, 166, 6],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IFindSharedPackageContainerOptions_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,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPackageAllUserProvisioningOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageAllUserProvisioningOptions {
type Vtable = IPackageAllUserProvisioningOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3660950050,
7648,
23870,
[153, 255, 210, 79, 49, 24, 191, 94],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageAllUserProvisioningOptions_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,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPackageManager(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager {
type Vtable = IPackageManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2591902565,
24207,
20423,
[162, 229, 127, 105, 37, 203, 139, 83],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager_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,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
manifesturi: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
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,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
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,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagename: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagepublisher: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagestate: PackageState,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagename: ::std::mem::ManuallyDrop<::windows::HSTRING>,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagefullname: ::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 IPackageManager10(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager10 {
type Vtable = IPackageManager10_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2815938686,
11878,
16531,
[174, 213, 224, 147, 237, 135, 179, 187],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager10_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,
mainpackagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
options: ::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 IPackageManager2(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager2 {
type Vtable = IPackageManager2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4155166861,
2112,
18162,
[181, 216, 202, 212, 118, 147, 160, 149],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager2_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: RemovalOptions,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
mainpackagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
dependencypackagefullnames: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagetypes: PackageTypes,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagetypes: PackageTypes,
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>,
packagetypes: PackageTypes,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagename: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagepublisher: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagetypes: PackageTypes,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagetypes: PackageTypes,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagetypes: PackageTypes,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::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 IPackageManager3(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager3 {
type Vtable = IPackageManager3_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3668810056,
14065,
16807,
[145, 136, 188, 38, 62, 13, 203, 114],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager3_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,
packagestorepath: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
targetvolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
status: PackageStatus,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
manifesturi: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
appdatavolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
volumename: ::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,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
deploymentoptions: DeploymentOptions,
targetvolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
volume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
volume: ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
status: PackageStatus,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagevolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagevolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
targetvolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
deploymentoptions: DeploymentOptions,
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 IPackageManager4(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager4 {
type Vtable = IPackageManager4_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1014077795,
47798,
18111,
[143, 247, 218, 71, 25, 35, 10, 230],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager4_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 IPackageManager5(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager5 {
type Vtable = IPackageManager5_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1897869591,
6909,
17171,
[151, 140, 155, 182, 225, 184, 100, 167],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager5_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,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
targetvolume: ::windows::RawPtr,
optionalpackagefamilynames: ::windows::RawPtr,
externalpackageuris: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
targetvolume: ::windows::RawPtr,
optionalpackagefamilynames: ::windows::RawPtr,
externalpackageuris: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
mainpackagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
dependencypackagefamilynames: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
appdatavolume: ::windows::RawPtr,
optionalpackagefamilynames: ::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 IPackageManager6(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager6 {
type Vtable = IPackageManager6_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
138930441,
21453,
20047,
[131, 46, 87, 209, 128, 246, 228, 71],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager6_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,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
appinstallerfileuri: ::windows::RawPtr,
options: AddPackageByAppInstallerOptions,
targetvolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
appinstallerfileuri: ::windows::RawPtr,
options: AddPackageByAppInstallerOptions,
targetvolume: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
options: DeploymentOptions,
targetvolume: ::windows::RawPtr,
optionalpackagefamilynames: ::windows::RawPtr,
packageuristoinstall: ::windows::RawPtr,
relatedpackageuris: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
options: DeploymentOptions,
targetvolume: ::windows::RawPtr,
optionalpackagefamilynames: ::windows::RawPtr,
packageuristoinstall: ::windows::RawPtr,
relatedpackageuris: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
targetvolume: ::windows::RawPtr,
optionalpackagefamilynames: ::windows::RawPtr,
relatedpackageuris: ::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 IPackageManager7(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager7 {
type Vtable = IPackageManager7_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4068889844,
11175,
19328,
[136, 214, 190, 21, 249, 162, 63, 186],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager7_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,
packageuri: ::windows::RawPtr,
dependencypackageuris: ::windows::RawPtr,
deploymentoptions: DeploymentOptions,
targetvolume: ::windows::RawPtr,
optionalpackagefamilynames: ::windows::RawPtr,
relatedpackageuris: ::windows::RawPtr,
packageuristoinstall: ::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 IPackageManager8(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager8 {
type Vtable = IPackageManager8_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3092730672,
4760,
20194,
[128, 238, 127, 101, 156, 93, 39, 130],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager8_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,
packagefamilyname: ::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 IPackageManager9(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManager9 {
type Vtable = IPackageManager9_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
447189045,
52337,
19246,
[128, 166, 199, 4, 29, 133, 121, 167],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManager9_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,
packageuri: ::windows::RawPtr,
options: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packageuri: ::windows::RawPtr,
options: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
manifesturi: ::windows::RawPtr,
options: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullnames: ::windows::RawPtr,
options: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
usestub: PackageStubPreference,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut PackageStubPreference,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPackageManagerDebugSettings(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageManagerDebugSettings {
type Vtable = IPackageManagerDebugSettings_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
442570371,
43400,
20431,
[143, 15, 206, 23, 88, 152, 232, 235],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageManagerDebugSettings_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,
package: ::windows::RawPtr,
contentgroupname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
state: ::windows_applicationmodel::PackageContentGroupState,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
package: ::windows::RawPtr,
contentgroupname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
state: ::windows_applicationmodel::PackageContentGroupState,
completionpercentage: f64,
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 IPackageUserInformation(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageUserInformation {
type Vtable = IPackageUserInformation_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4130878499,
64009,
19644,
[144, 85, 21, 202, 39, 94, 46, 126],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageUserInformation_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 PackageInstallState,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPackageVolume(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageVolume {
type Vtable = IPackageVolume_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3475403459,
6720,
17488,
[151, 57, 42, 206, 46, 137, 136, 83],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageVolume_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,
result__: *mut bool,
) -> ::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,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
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,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagetypes: PackageTypes,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagetypes: PackageTypes,
packagename: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagepublisher: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagetypes: PackageTypes,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
packagefullname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagename: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagepublisher: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagetypes: PackageTypes,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagetypes: PackageTypes,
packagename: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagepublisher: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagetypes: PackageTypes,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
usersecurityid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
packagefullname: ::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 IPackageVolume2(::windows::IInspectable);
unsafe impl ::windows::Interface for IPackageVolume2 {
type Vtable = IPackageVolume2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1185664814,
40404,
18338,
[171, 140, 198, 64, 131, 73, 188, 216],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPackageVolume2_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,
result__: *mut bool,
) -> ::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 IRegisterPackageOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IRegisterPackageOptions {
type Vtable = IRegisterPackageOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1735463591,
20692,
18796,
[132, 21, 6, 2, 180, 198, 211, 191],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IRegisterPackageOptions_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,
value: ::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,
value: ::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, 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: 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: 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: 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: 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: 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: 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: bool) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ISharedPackageContainer(::windows::IInspectable);
unsafe impl ::windows::Interface for ISharedPackageContainer {
type Vtable = ISharedPackageContainer_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
394205865,
5406,
24311,
[177, 217, 47, 186, 11, 75, 13, 23],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISharedPackageContainer_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,
packagefamilyname: ::std::mem::ManuallyDrop<::windows::HSTRING>,
options: ::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 ISharedPackageContainerManager(::windows::IInspectable);
unsafe impl ::windows::Interface for ISharedPackageContainerManager {
type Vtable = ISharedPackageContainerManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3191156840,
7927,
23240,
[171, 63, 11, 159, 97, 47, 2, 116],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISharedPackageContainerManager_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,
name: ::std::mem::ManuallyDrop<::windows::HSTRING>,
options: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
id: ::std::mem::ManuallyDrop<::windows::HSTRING>,
options: ::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,
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,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ISharedPackageContainerManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for ISharedPackageContainerManagerStatics {
type Vtable = ISharedPackageContainerManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
787833672,
33674,
24405,
[168, 158, 17, 152, 162, 198, 39, 230],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISharedPackageContainerManagerStatics_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,
usersid: ::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,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct ISharedPackageContainerMember(::windows::IInspectable);
unsafe impl ::windows::Interface for ISharedPackageContainerMember {
type Vtable = ISharedPackageContainerMember_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4262265912,
17353,
21542,
[184, 156, 247, 155, 248, 93, 223, 244],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISharedPackageContainerMember_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 ISharedPackageContainerMemberFactory(::windows::IInspectable);
unsafe impl ::windows::Interface for ISharedPackageContainerMemberFactory {
type Vtable = ISharedPackageContainerMemberFactory_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1236324075,
18831,
23138,
[183, 56, 179, 202, 13, 67, 103, 4],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct ISharedPackageContainerMemberFactory_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,
packagefamilyname: ::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 IStagePackageOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IStagePackageOptions {
type Vtable = IStagePackageOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
185666716,
47453,
19542,
[189, 54, 109, 101, 104, 0, 208, 107],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IStagePackageOptions_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,
value: ::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,
value: ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut StubPackageOption,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: StubPackageOption,
) -> ::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,
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,
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,
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,
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,
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 IUpdateSharedPackageContainerOptions(::windows::IInspectable);
unsafe impl ::windows::Interface for IUpdateSharedPackageContainerOptions {
type Vtable = IUpdateSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2154245763,
29076,
23033,
[181, 185, 218, 165, 55, 95, 19, 10],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IUpdateSharedPackageContainerOptions_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,
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 IUpdateSharedPackageContainerResult(::windows::IInspectable);
unsafe impl ::windows::Interface for IUpdateSharedPackageContainerResult {
type Vtable = IUpdateSharedPackageContainerResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2856353271,
50989,
21592,
[174, 163, 70, 69, 182, 168, 238, 153],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IUpdateSharedPackageContainerResult_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 SharedPackageContainerOperationStatus,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::HRESULT,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PackageAllUserProvisioningOptions(::windows::IInspectable);
impl PackageAllUserProvisioningOptions {
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<
PackageAllUserProvisioningOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn OptionalPackageFamilyNames(
&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 ProjectionOrderPackageFamilyNames(
&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).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<::windows::HSTRING>>(
result__,
)
}
}
}
unsafe impl ::windows::RuntimeType for PackageAllUserProvisioningOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.PackageAllUserProvisioningOptions;{da35aa22-1de0-5d3e-99ff-d24f3118bf5e})" ) ;
}
unsafe impl ::windows::Interface for PackageAllUserProvisioningOptions {
type Vtable = IPackageAllUserProvisioningOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3660950050,
7648,
23870,
[153, 255, 210, 79, 49, 24, 191, 94],
);
}
impl ::windows::RuntimeName for PackageAllUserProvisioningOptions {
const NAME: &'static str =
"Windows.Management.Deployment.PackageAllUserProvisioningOptions";
}
impl ::std::convert::From<PackageAllUserProvisioningOptions> for ::windows::IUnknown {
fn from(value: PackageAllUserProvisioningOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PackageAllUserProvisioningOptions> for ::windows::IUnknown {
fn from(value: &PackageAllUserProvisioningOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PackageAllUserProvisioningOptions {
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 &PackageAllUserProvisioningOptions {
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<PackageAllUserProvisioningOptions> for ::windows::IInspectable {
fn from(value: PackageAllUserProvisioningOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&PackageAllUserProvisioningOptions> for ::windows::IInspectable {
fn from(value: &PackageAllUserProvisioningOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PackageAllUserProvisioningOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a PackageAllUserProvisioningOptions
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for PackageAllUserProvisioningOptions {}
unsafe impl ::std::marker::Sync for PackageAllUserProvisioningOptions {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PackageInstallState(pub i32);
impl PackageInstallState {
pub const NotInstalled: PackageInstallState = PackageInstallState(0i32);
pub const Staged: PackageInstallState = PackageInstallState(1i32);
pub const Installed: PackageInstallState = PackageInstallState(2i32);
pub const Paused: PackageInstallState = PackageInstallState(6i32);
}
impl ::std::convert::From<i32> for PackageInstallState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PackageInstallState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PackageInstallState {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.PackageInstallState;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PackageManager(::windows::IInspectable);
impl PackageManager {
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<
PackageManager,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn AddPackageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn UpdatePackageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RemovePackageAsync<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagefullname: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn StagePackageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RegisterPackageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
manifesturi: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
manifesturi.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn FindPackages(
&self,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
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::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityId<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByNamePublisher<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagename: Param0,
packagepublisher: Param1,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::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 FindPackagesByUserSecurityIdNamePublisher<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagename: Param1,
packagepublisher: Param2,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindUsers<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagefullname: Param0,
) -> ::windows::Result<::windows_foundation::Collections::IIterable<PackageUserInformation>>
{
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
PackageUserInformation,
>>(result__)
}
}
pub fn SetPackageState<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagefullname: Param0,
packagestate: PackageState,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
packagestate,
)
.ok()
}
}
pub fn FindPackageByPackageFullName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefullname: Param0,
) -> ::windows::Result<::windows_applicationmodel::Package> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_applicationmodel::Package>(result__)
}
}
pub fn CleanupPackageForUserAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagename: Param0,
usersecurityid: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
packagename.into_param().abi(),
usersecurityid.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn FindPackagesByPackageFamilyName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefamilyname: Param0,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdPackageFamilyName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagefamilyname: Param1,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackageByUserSecurityIdPackageFullName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagefullname: Param1,
) -> ::windows::Result<::windows_applicationmodel::Package> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).21)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagefullname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_applicationmodel::Package>(result__)
}
}
pub fn RemovePackageWithOptionsAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefullname: Param0,
removaloptions: RemovalOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
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<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn StagePackageWithOptionsAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RegisterPackageByFullNameAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
>(
&self,
mainpackagefullname: Param0,
dependencypackagefullnames: Param1,
deploymentoptions: DeploymentOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
mainpackagefullname.into_param().abi(),
dependencypackagefullnames.into_param().abi(),
deploymentoptions,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn FindPackagesWithPackageTypes(
&self,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdWithPackageTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByNamePublisherWithPackageTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagename: Param0,
packagepublisher: Param1,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdNamePublisherWithPackageTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagename: Param1,
packagepublisher: Param2,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByPackageFamilyNameWithPackageTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefamilyname: Param0,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagefamilyname: Param1,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IIterable<::windows_applicationmodel::Package>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagefamilyname.into_param().abi(),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IIterable<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn StageUserDataAsync<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagefullname: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager2>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn AddPackageVolumeAsync<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagestorepath: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<PackageVolume>> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packagestorepath.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperation<PackageVolume>>(result__)
}
}
pub fn AddPackageToVolumeAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
targetvolume: Param3,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
targetvolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn ClearPackageStatus<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagefullname: Param0,
status: PackageStatus,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
status,
)
.ok()
}
}
pub fn RegisterPackageWithAppDataVolumeAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
>(
&self,
manifesturi: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
appdatavolume: Param3,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
manifesturi.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
appdatavolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn FindPackageVolumeByName<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
volumename: Param0,
) -> ::windows::Result<PackageVolume> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
volumename.into_param().abi(),
&mut result__,
)
.from_abi::<PackageVolume>(result__)
}
}
pub fn FindPackageVolumes(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IIterable<PackageVolume>>
{
let this = &::windows::Interface::cast::<IPackageManager3>(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::Collections::IIterable<PackageVolume>>(result__)
}
}
pub fn GetDefaultPackageVolume(&self) -> ::windows::Result<PackageVolume> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PackageVolume>(result__)
}
}
pub fn MovePackageToVolumeAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, PackageVolume>,
>(
&self,
packagefullname: Param0,
deploymentoptions: DeploymentOptions,
targetvolume: Param2,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
deploymentoptions,
targetvolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RemovePackageVolumeAsync<'a, Param0: ::windows::IntoParam<'a, PackageVolume>>(
&self,
volume: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
volume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn SetDefaultPackageVolume<'a, Param0: ::windows::IntoParam<'a, PackageVolume>>(
&self,
volume: Param0,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
volume.into_param().abi(),
)
.ok()
}
}
pub fn SetPackageStatus<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
packagefullname: Param0,
status: PackageStatus,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
status,
)
.ok()
}
}
pub fn SetPackageVolumeOfflineAsync<'a, Param0: ::windows::IntoParam<'a, PackageVolume>>(
&self,
packagevolume: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
packagevolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn SetPackageVolumeOnlineAsync<'a, Param0: ::windows::IntoParam<'a, PackageVolume>>(
&self,
packagevolume: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
packagevolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn StagePackageToVolumeAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
targetvolume: Param3,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
targetvolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn StageUserDataWithOptionsAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefullname: Param0,
deploymentoptions: DeploymentOptions,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager3>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
deploymentoptions,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn GetPackageVolumesAsync(
&self,
) -> ::windows::Result<
::windows_foundation::IAsyncOperation<
::windows_foundation::Collections::IVectorView<PackageVolume>,
>,
> {
let this = &::windows::Interface::cast::<IPackageManager4>(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<
::windows_foundation::Collections::IVectorView<PackageVolume>,
>>(result__)
}
}
pub fn AddPackageToVolumeAndOptionalPackagesAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
targetvolume: Param3,
optionalpackagefamilynames: Param4,
externalpackageuris: Param5,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager5>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
targetvolume.into_param().abi(),
optionalpackagefamilynames.into_param().abi(),
externalpackageuris.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn StagePackageToVolumeAndOptionalPackagesAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
targetvolume: Param3,
optionalpackagefamilynames: Param4,
externalpackageuris: Param5,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager5>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
targetvolume.into_param().abi(),
optionalpackagefamilynames.into_param().abi(),
externalpackageuris.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RegisterPackageByFamilyNameAndOptionalPackagesAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
>(
&self,
mainpackagefamilyname: Param0,
dependencypackagefamilynames: Param1,
deploymentoptions: DeploymentOptions,
appdatavolume: Param3,
optionalpackagefamilynames: Param4,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager5>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
mainpackagefamilyname.into_param().abi(),
dependencypackagefamilynames.into_param().abi(),
deploymentoptions,
appdatavolume.into_param().abi(),
optionalpackagefamilynames.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn DebugSettings(&self) -> ::windows::Result<PackageManagerDebugSettings> {
let this = &::windows::Interface::cast::<IPackageManager5>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PackageManagerDebugSettings>(result__)
}
}
pub fn ProvisionPackageForAllUsersAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefamilyname: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager6>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn AddPackageByAppInstallerFileAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param2: ::windows::IntoParam<'a, PackageVolume>,
>(
&self,
appinstallerfileuri: Param0,
options: AddPackageByAppInstallerOptions,
targetvolume: Param2,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager6>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
appinstallerfileuri.into_param().abi(),
options,
targetvolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RequestAddPackageByAppInstallerFileAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param2: ::windows::IntoParam<'a, PackageVolume>,
>(
&self,
appinstallerfileuri: Param0,
options: AddPackageByAppInstallerOptions,
targetvolume: Param2,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager6>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
appinstallerfileuri.into_param().abi(),
options,
targetvolume.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn AddPackageToVolumeAndRelatedSetAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param6: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
options: DeploymentOptions,
targetvolume: Param3,
optionalpackagefamilynames: Param4,
packageuristoinstall: Param5,
relatedpackageuris: Param6,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager6>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
options,
targetvolume.into_param().abi(),
optionalpackagefamilynames.into_param().abi(),
packageuristoinstall.into_param().abi(),
relatedpackageuris.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn StagePackageToVolumeAndRelatedSetAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param6: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
options: DeploymentOptions,
targetvolume: Param3,
optionalpackagefamilynames: Param4,
packageuristoinstall: Param5,
relatedpackageuris: Param6,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager6>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
options,
targetvolume.into_param().abi(),
optionalpackagefamilynames.into_param().abi(),
packageuristoinstall.into_param().abi(),
relatedpackageuris.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RequestAddPackageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
targetvolume: Param3,
optionalpackagefamilynames: Param4,
relatedpackageuris: Param5,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager6>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
targetvolume.into_param().abi(),
optionalpackagefamilynames.into_param().abi(),
relatedpackageuris.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RequestAddPackageAndRelatedSetAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param3: ::windows::IntoParam<'a, PackageVolume>,
Param4: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param5: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
Param6: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows_foundation::Uri>,
>,
>(
&self,
packageuri: Param0,
dependencypackageuris: Param1,
deploymentoptions: DeploymentOptions,
targetvolume: Param3,
optionalpackagefamilynames: Param4,
relatedpackageuris: Param5,
packageuristoinstall: Param6,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager7>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
dependencypackageuris.into_param().abi(),
deploymentoptions,
targetvolume.into_param().abi(),
optionalpackagefamilynames.into_param().abi(),
relatedpackageuris.into_param().abi(),
packageuristoinstall.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn DeprovisionPackageForAllUsersAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefamilyname: Param0,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager8>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn FindProvisionedPackages(
&self,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = &::windows::Interface::cast::<IPackageManager9>(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_applicationmodel::Package,
>>(result__)
}
}
pub fn AddPackageByUriAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<'a, AddPackageOptions>,
>(
&self,
packageuri: Param0,
options: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager9>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn StagePackageByUriAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<'a, StagePackageOptions>,
>(
&self,
packageuri: Param0,
options: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager9>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
packageuri.into_param().abi(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RegisterPackageByUriAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
Param1: ::windows::IntoParam<'a, RegisterPackageOptions>,
>(
&self,
manifesturi: Param0,
options: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager9>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
manifesturi.into_param().abi(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn RegisterPackagesByFullNameAsync<
'a,
Param0: ::windows::IntoParam<
'a,
::windows_foundation::Collections::IIterable<::windows::HSTRING>,
>,
Param1: ::windows::IntoParam<'a, RegisterPackageOptions>,
>(
&self,
packagefullnames: Param0,
options: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager9>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(
::std::mem::transmute_copy(this),
packagefullnames.into_param().abi(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
pub fn SetPackageStubPreference<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefamilyname: Param0,
usestub: PackageStubPreference,
) -> ::windows::Result<()> {
let this = &::windows::Interface::cast::<IPackageManager9>(self)?;
unsafe {
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
usestub,
)
.ok()
}
}
pub fn GetPackageStubPreference<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefamilyname: Param0,
) -> ::windows::Result<PackageStubPreference> {
let this = &::windows::Interface::cast::<IPackageManager9>(self)?;
unsafe {
let mut result__: PackageStubPreference = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<PackageStubPreference>(result__)
}
}
pub fn ProvisionPackageForAllUsersWithOptionsAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, PackageAllUserProvisioningOptions>,
>(
&self,
mainpackagefamilyname: Param0,
options: Param1,
) -> ::windows::Result<
::windows_foundation::IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress>,
> {
let this = &::windows::Interface::cast::<IPackageManager10>(self)?;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
mainpackagefamilyname.into_param().abi(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncOperationWithProgress<
DeploymentResult,
DeploymentProgress,
>>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PackageManager {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.PackageManager;{9a7d4b65-5e8f-4fc7-a2e5-7f6925cb8b53})" ) ;
}
unsafe impl ::windows::Interface for PackageManager {
type Vtable = IPackageManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2591902565,
24207,
20423,
[162, 229, 127, 105, 37, 203, 139, 83],
);
}
impl ::windows::RuntimeName for PackageManager {
const NAME: &'static str = "Windows.Management.Deployment.PackageManager";
}
impl ::std::convert::From<PackageManager> for ::windows::IUnknown {
fn from(value: PackageManager) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PackageManager> for ::windows::IUnknown {
fn from(value: &PackageManager) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PackageManager {
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 &PackageManager {
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<PackageManager> for ::windows::IInspectable {
fn from(value: PackageManager) -> Self {
value.0
}
}
impl ::std::convert::From<&PackageManager> for ::windows::IInspectable {
fn from(value: &PackageManager) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PackageManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PackageManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for PackageManager {}
unsafe impl ::std::marker::Sync for PackageManager {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PackageManagerDebugSettings(::windows::IInspectable);
impl PackageManagerDebugSettings {
pub fn SetContentGroupStateAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_applicationmodel::Package>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
package: Param0,
contentgroupname: Param1,
state: ::windows_applicationmodel::PackageContentGroupState,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
package.into_param().abi(),
contentgroupname.into_param().abi(),
state,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn SetContentGroupStateWithPercentageAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_applicationmodel::Package>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
package: Param0,
contentgroupname: Param1,
state: ::windows_applicationmodel::PackageContentGroupState,
completionpercentage: f64,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
package.into_param().abi(),
contentgroupname.into_param().abi(),
state,
completionpercentage,
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PackageManagerDebugSettings {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.PackageManagerDebugSettings;{1a611683-a988-4fcf-8f0f-ce175898e8eb})" ) ;
}
unsafe impl ::windows::Interface for PackageManagerDebugSettings {
type Vtable = IPackageManagerDebugSettings_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
442570371,
43400,
20431,
[143, 15, 206, 23, 88, 152, 232, 235],
);
}
impl ::windows::RuntimeName for PackageManagerDebugSettings {
const NAME: &'static str = "Windows.Management.Deployment.PackageManagerDebugSettings";
}
impl ::std::convert::From<PackageManagerDebugSettings> for ::windows::IUnknown {
fn from(value: PackageManagerDebugSettings) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PackageManagerDebugSettings> for ::windows::IUnknown {
fn from(value: &PackageManagerDebugSettings) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PackageManagerDebugSettings {
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 &PackageManagerDebugSettings {
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<PackageManagerDebugSettings> for ::windows::IInspectable {
fn from(value: PackageManagerDebugSettings) -> Self {
value.0
}
}
impl ::std::convert::From<&PackageManagerDebugSettings> for ::windows::IInspectable {
fn from(value: &PackageManagerDebugSettings) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PackageManagerDebugSettings {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PackageManagerDebugSettings {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for PackageManagerDebugSettings {}
unsafe impl ::std::marker::Sync for PackageManagerDebugSettings {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PackageState(pub i32);
impl PackageState {
pub const Normal: PackageState = PackageState(0i32);
pub const LicenseInvalid: PackageState = PackageState(1i32);
pub const Modified: PackageState = PackageState(2i32);
pub const Tampered: PackageState = PackageState(3i32);
}
impl ::std::convert::From<i32> for PackageState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PackageState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PackageState {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.PackageState;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PackageStatus(pub u32);
impl PackageStatus {
pub const OK: PackageStatus = PackageStatus(0u32);
pub const LicenseIssue: PackageStatus = PackageStatus(1u32);
pub const Modified: PackageStatus = PackageStatus(2u32);
pub const Tampered: PackageStatus = PackageStatus(4u32);
pub const Disabled: PackageStatus = PackageStatus(8u32);
}
impl ::std::convert::From<u32> for PackageStatus {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PackageStatus {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PackageStatus {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.PackageStatus;u4)",
);
}
impl ::std::ops::BitOr for PackageStatus {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for PackageStatus {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for PackageStatus {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for PackageStatus {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for PackageStatus {
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 PackageStubPreference(pub i32);
impl PackageStubPreference {
pub const Full: PackageStubPreference = PackageStubPreference(0i32);
pub const Stub: PackageStubPreference = PackageStubPreference(1i32);
}
impl ::std::convert::From<i32> for PackageStubPreference {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PackageStubPreference {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PackageStubPreference {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.PackageStubPreference;i4)",
);
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct PackageTypes(pub u32);
impl PackageTypes {
pub const None: PackageTypes = PackageTypes(0u32);
pub const Main: PackageTypes = PackageTypes(1u32);
pub const Framework: PackageTypes = PackageTypes(2u32);
pub const Resource: PackageTypes = PackageTypes(4u32);
pub const Bundle: PackageTypes = PackageTypes(8u32);
pub const Xap: PackageTypes = PackageTypes(16u32);
pub const Optional: PackageTypes = PackageTypes(32u32);
pub const All: PackageTypes = PackageTypes(4294967295u32);
}
impl ::std::convert::From<u32> for PackageTypes {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for PackageTypes {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for PackageTypes {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.PackageTypes;u4)",
);
}
impl ::std::ops::BitOr for PackageTypes {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for PackageTypes {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for PackageTypes {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for PackageTypes {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for PackageTypes {
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 PackageUserInformation(::windows::IInspectable);
impl PackageUserInformation {
pub fn UserSecurityId(&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<PackageInstallState> {
let this = self;
unsafe {
let mut result__: PackageInstallState = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PackageInstallState>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PackageUserInformation {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.PackageUserInformation;{f6383423-fa09-4cbc-9055-15ca275e2e7e})" ) ;
}
unsafe impl ::windows::Interface for PackageUserInformation {
type Vtable = IPackageUserInformation_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4130878499,
64009,
19644,
[144, 85, 21, 202, 39, 94, 46, 126],
);
}
impl ::windows::RuntimeName for PackageUserInformation {
const NAME: &'static str = "Windows.Management.Deployment.PackageUserInformation";
}
impl ::std::convert::From<PackageUserInformation> for ::windows::IUnknown {
fn from(value: PackageUserInformation) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PackageUserInformation> for ::windows::IUnknown {
fn from(value: &PackageUserInformation) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PackageUserInformation {
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 &PackageUserInformation {
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<PackageUserInformation> for ::windows::IInspectable {
fn from(value: PackageUserInformation) -> Self {
value.0
}
}
impl ::std::convert::From<&PackageUserInformation> for ::windows::IInspectable {
fn from(value: &PackageUserInformation) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PackageUserInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PackageUserInformation {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for PackageUserInformation {}
unsafe impl ::std::marker::Sync for PackageUserInformation {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PackageVolume(::windows::IInspectable);
impl PackageVolume {
pub fn IsOffline(&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 IsSystemVolume(&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__)
}
}
pub fn MountPoint(&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 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).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn PackageStorePath(&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 SupportsHardLinks(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).11)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn FindPackages(
&self,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
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_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByNamePublisher<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagename: Param0,
packagepublisher: Param1,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByPackageFamilyName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefamilyname: Param0,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesWithPackageTypes(
&self,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByNamePublisherWithPackagesTypes<
'a,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagetypes: PackageTypes,
packagename: Param1,
packagepublisher: Param2,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
packagetypes,
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByPackageFamilyNameWithPackageTypes<
'a,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagetypes: PackageTypes,
packagefamilyname: Param1,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
packagetypes,
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackageByPackageFullName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
packagefullname: Param0,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
packagefullname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityId<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).19)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdNamePublisher<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagename: Param1,
packagepublisher: Param2,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdPackageFamilyName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagefamilyname: Param1,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).21)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdWithPackageTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagetypes: PackageTypes,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).22)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagetypes,
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdNamePublisherWithPackageTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param3: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagetypes: PackageTypes,
packagename: Param2,
packagepublisher: Param3,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).23)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagetypes,
packagename.into_param().abi(),
packagepublisher.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackagesByUserSecurityIdPackageFamilyNameWithPackagesTypes<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagetypes: PackageTypes,
packagefamilyname: Param2,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).24)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagetypes,
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn FindPackageByUserSecurityIdPackageFullName<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
&self,
usersecurityid: Param0,
packagefullname: Param1,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<::windows_applicationmodel::Package>,
> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).25)(
::std::mem::transmute_copy(this),
usersecurityid.into_param().abi(),
packagefullname.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<
::windows_applicationmodel::Package,
>>(result__)
}
}
pub fn IsFullTrustPackageSupported(&self) -> ::windows::Result<bool> {
let this = &::windows::Interface::cast::<IPackageVolume2>(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 IsAppxInstallSupported(&self) -> ::windows::Result<bool> {
let this = &::windows::Interface::cast::<IPackageVolume2>(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__)
}
}
pub fn GetAvailableSpaceAsync(
&self,
) -> ::windows::Result<::windows_foundation::IAsyncOperation<u64>> {
let this = &::windows::Interface::cast::<IPackageVolume2>(self)?;
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<u64>>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PackageVolume {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.PackageVolume;{cf2672c3-1a40-4450-9739-2ace2e898853})" ) ;
}
unsafe impl ::windows::Interface for PackageVolume {
type Vtable = IPackageVolume_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3475403459,
6720,
17488,
[151, 57, 42, 206, 46, 137, 136, 83],
);
}
impl ::windows::RuntimeName for PackageVolume {
const NAME: &'static str = "Windows.Management.Deployment.PackageVolume";
}
impl ::std::convert::From<PackageVolume> for ::windows::IUnknown {
fn from(value: PackageVolume) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PackageVolume> for ::windows::IUnknown {
fn from(value: &PackageVolume) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PackageVolume {
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 &PackageVolume {
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<PackageVolume> for ::windows::IInspectable {
fn from(value: PackageVolume) -> Self {
value.0
}
}
impl ::std::convert::From<&PackageVolume> for ::windows::IInspectable {
fn from(value: &PackageVolume) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PackageVolume {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PackageVolume {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for PackageVolume {}
unsafe impl ::std::marker::Sync for PackageVolume {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct RegisterPackageOptions(::windows::IInspectable);
impl RegisterPackageOptions {
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<
RegisterPackageOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn DependencyPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
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_foundation::Uri,
>>(result__)
}
}
pub fn AppDataVolume(&self) -> ::windows::Result<PackageVolume> {
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::<PackageVolume>(result__)
}
}
pub fn SetAppDataVolume<'a, Param0: ::windows::IntoParam<'a, PackageVolume>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn OptionalPackageFamilyNames(
&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).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<::windows::HSTRING>>(
result__,
)
}
}
pub fn ExternalLocationUri(&self) -> ::windows::Result<::windows_foundation::Uri> {
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::Uri>(result__)
}
}
pub fn SetExternalLocationUri<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
&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 DeveloperMode(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetDeveloperMode(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceAppShutdown(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceAppShutdown(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceTargetAppShutdown(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceTargetAppShutdown(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceUpdateFromAnyVersion(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn InstallAllResources(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetInstallAllResources(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn StageInPlace(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).22)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStageInPlace(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn AllowUnsigned(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).24)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetAllowUnsigned(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn DeferRegistrationWhenPackagesAreInUse(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).26)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetDeferRegistrationWhenPackagesAreInUse(
&self,
value: bool,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for RegisterPackageOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.RegisterPackageOptions;{677112a7-50d4-496c-8415-0602b4c6d3bf})" ) ;
}
unsafe impl ::windows::Interface for RegisterPackageOptions {
type Vtable = IRegisterPackageOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1735463591,
20692,
18796,
[132, 21, 6, 2, 180, 198, 211, 191],
);
}
impl ::windows::RuntimeName for RegisterPackageOptions {
const NAME: &'static str = "Windows.Management.Deployment.RegisterPackageOptions";
}
impl ::std::convert::From<RegisterPackageOptions> for ::windows::IUnknown {
fn from(value: RegisterPackageOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&RegisterPackageOptions> for ::windows::IUnknown {
fn from(value: &RegisterPackageOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for RegisterPackageOptions {
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 &RegisterPackageOptions {
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<RegisterPackageOptions> for ::windows::IInspectable {
fn from(value: RegisterPackageOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&RegisterPackageOptions> for ::windows::IInspectable {
fn from(value: &RegisterPackageOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for RegisterPackageOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a RegisterPackageOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for RegisterPackageOptions {}
unsafe impl ::std::marker::Sync for RegisterPackageOptions {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct RemovalOptions(pub u32);
impl RemovalOptions {
pub const None: RemovalOptions = RemovalOptions(0u32);
pub const PreserveApplicationData: RemovalOptions = RemovalOptions(4096u32);
pub const PreserveRoamableApplicationData: RemovalOptions = RemovalOptions(128u32);
pub const RemoveForAllUsers: RemovalOptions = RemovalOptions(524288u32);
}
impl ::std::convert::From<u32> for RemovalOptions {
fn from(value: u32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for RemovalOptions {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for RemovalOptions {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.RemovalOptions;u4)",
);
}
impl ::std::ops::BitOr for RemovalOptions {
type Output = Self;
fn bitor(self, rhs: Self) -> Self {
Self(self.0 | rhs.0)
}
}
impl ::std::ops::BitAnd for RemovalOptions {
type Output = Self;
fn bitand(self, rhs: Self) -> Self {
Self(self.0 & rhs.0)
}
}
impl ::std::ops::BitOrAssign for RemovalOptions {
fn bitor_assign(&mut self, rhs: Self) {
self.0.bitor_assign(rhs.0)
}
}
impl ::std::ops::BitAndAssign for RemovalOptions {
fn bitand_assign(&mut self, rhs: Self) {
self.0.bitand_assign(rhs.0)
}
}
impl ::std::ops::Not for RemovalOptions {
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 SharedPackageContainer(::windows::IInspectable);
impl SharedPackageContainer {
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).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HSTRING>(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 GetMembers(
&self,
) -> ::windows::Result<
::windows_foundation::Collections::IVector<SharedPackageContainerMember>,
> {
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::<::windows_foundation::Collections::IVector<
SharedPackageContainerMember,
>>(result__)
}
}
pub fn RemovePackageFamily<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, UpdateSharedPackageContainerOptions>,
>(
&self,
packagefamilyname: Param0,
options: Param1,
) -> ::windows::Result<UpdateSharedPackageContainerResult> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<UpdateSharedPackageContainerResult>(result__)
}
}
pub fn ResetData(&self) -> ::windows::Result<UpdateSharedPackageContainerResult> {
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::<UpdateSharedPackageContainerResult>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for SharedPackageContainer {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.SharedPackageContainer;{177f1aa9-151e-5ef7-b1d9-2fba0b4b0d17})" ) ;
}
unsafe impl ::windows::Interface for SharedPackageContainer {
type Vtable = ISharedPackageContainer_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
394205865,
5406,
24311,
[177, 217, 47, 186, 11, 75, 13, 23],
);
}
impl ::windows::RuntimeName for SharedPackageContainer {
const NAME: &'static str = "Windows.Management.Deployment.SharedPackageContainer";
}
impl ::std::convert::From<SharedPackageContainer> for ::windows::IUnknown {
fn from(value: SharedPackageContainer) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&SharedPackageContainer> for ::windows::IUnknown {
fn from(value: &SharedPackageContainer) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for SharedPackageContainer {
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 &SharedPackageContainer {
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<SharedPackageContainer> for ::windows::IInspectable {
fn from(value: SharedPackageContainer) -> Self {
value.0
}
}
impl ::std::convert::From<&SharedPackageContainer> for ::windows::IInspectable {
fn from(value: &SharedPackageContainer) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for SharedPackageContainer {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a SharedPackageContainer {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for SharedPackageContainer {}
unsafe impl ::std::marker::Sync for SharedPackageContainer {}
#[repr(C)]
#[derive(
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
)]
pub struct SharedPackageContainerContract(pub u8);
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct SharedPackageContainerCreationCollisionOptions(pub i32);
impl SharedPackageContainerCreationCollisionOptions {
pub const FailIfExists: SharedPackageContainerCreationCollisionOptions =
SharedPackageContainerCreationCollisionOptions(0i32);
pub const MergeWithExisting: SharedPackageContainerCreationCollisionOptions =
SharedPackageContainerCreationCollisionOptions(1i32);
pub const ReplaceExisting: SharedPackageContainerCreationCollisionOptions =
SharedPackageContainerCreationCollisionOptions(2i32);
}
impl ::std::convert::From<i32> for SharedPackageContainerCreationCollisionOptions {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for SharedPackageContainerCreationCollisionOptions {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for SharedPackageContainerCreationCollisionOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"enum(Windows.Management.Deployment.SharedPackageContainerCreationCollisionOptions;i4)" ) ;
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct SharedPackageContainerManager(::windows::IInspectable);
impl SharedPackageContainerManager {
pub fn CreateContainer<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, CreateSharedPackageContainerOptions>,
>(
&self,
name: Param0,
options: Param1,
) -> ::windows::Result<CreateSharedPackageContainerResult> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
name.into_param().abi(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<CreateSharedPackageContainerResult>(result__)
}
}
pub fn DeleteContainer<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, DeleteSharedPackageContainerOptions>,
>(
&self,
id: Param0,
options: Param1,
) -> ::windows::Result<DeleteSharedPackageContainerResult> {
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(),
options.into_param().abi(),
&mut result__,
)
.from_abi::<DeleteSharedPackageContainerResult>(result__)
}
}
pub fn GetContainer<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
id: Param0,
) -> ::windows::Result<SharedPackageContainer> {
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::<SharedPackageContainer>(result__)
}
}
pub fn FindContainers(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<SharedPackageContainer>>
{
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::Collections::IVector<SharedPackageContainer>>(
result__,
)
}
}
pub fn FindContainersWithOptions<
'a,
Param0: ::windows::IntoParam<'a, FindSharedPackageContainerOptions>,
>(
&self,
options: Param0,
) -> ::windows::Result<::windows_foundation::Collections::IVector<SharedPackageContainer>>
{
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::<::windows_foundation::Collections::IVector<SharedPackageContainer>>(
result__,
)
}
}
pub fn GetDefault() -> ::windows::Result<SharedPackageContainerManager> {
Self::ISharedPackageContainerManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<SharedPackageContainerManager>(result__)
})
}
pub fn GetForUser<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
usersid: Param0,
) -> ::windows::Result<SharedPackageContainerManager> {
Self::ISharedPackageContainerManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
usersid.into_param().abi(),
&mut result__,
)
.from_abi::<SharedPackageContainerManager>(result__)
})
}
pub fn GetForProvisioning() -> ::windows::Result<SharedPackageContainerManager> {
Self::ISharedPackageContainerManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<SharedPackageContainerManager>(result__)
})
}
pub fn ISharedPackageContainerManagerStatics<
R,
F: FnOnce(&ISharedPackageContainerManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
SharedPackageContainerManager,
ISharedPackageContainerManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for SharedPackageContainerManager {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.SharedPackageContainerManager;{be353068-1ef7-5ac8-ab3f-0b9f612f0274})" ) ;
}
unsafe impl ::windows::Interface for SharedPackageContainerManager {
type Vtable = ISharedPackageContainerManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3191156840,
7927,
23240,
[171, 63, 11, 159, 97, 47, 2, 116],
);
}
impl ::windows::RuntimeName for SharedPackageContainerManager {
const NAME: &'static str = "Windows.Management.Deployment.SharedPackageContainerManager";
}
impl ::std::convert::From<SharedPackageContainerManager> for ::windows::IUnknown {
fn from(value: SharedPackageContainerManager) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&SharedPackageContainerManager> for ::windows::IUnknown {
fn from(value: &SharedPackageContainerManager) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for SharedPackageContainerManager {
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 &SharedPackageContainerManager {
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<SharedPackageContainerManager> for ::windows::IInspectable {
fn from(value: SharedPackageContainerManager) -> Self {
value.0
}
}
impl ::std::convert::From<&SharedPackageContainerManager> for ::windows::IInspectable {
fn from(value: &SharedPackageContainerManager) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for SharedPackageContainerManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a SharedPackageContainerManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for SharedPackageContainerManager {}
unsafe impl ::std::marker::Sync for SharedPackageContainerManager {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct SharedPackageContainerMember(::windows::IInspectable);
impl SharedPackageContainerMember {
pub fn PackageFamilyName(&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 CreateInstance<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
packagefamilyname: Param0,
) -> ::windows::Result<SharedPackageContainerMember> {
Self::ISharedPackageContainerMemberFactory(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
packagefamilyname.into_param().abi(),
&mut result__,
)
.from_abi::<SharedPackageContainerMember>(result__)
})
}
pub fn ISharedPackageContainerMemberFactory<
R,
F: FnOnce(&ISharedPackageContainerMemberFactory) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
SharedPackageContainerMember,
ISharedPackageContainerMemberFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for SharedPackageContainerMember {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.SharedPackageContainerMember;{fe0d0438-43c9-5426-b89c-f79bf85ddff4})" ) ;
}
unsafe impl ::windows::Interface for SharedPackageContainerMember {
type Vtable = ISharedPackageContainerMember_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4262265912,
17353,
21542,
[184, 156, 247, 155, 248, 93, 223, 244],
);
}
impl ::windows::RuntimeName for SharedPackageContainerMember {
const NAME: &'static str = "Windows.Management.Deployment.SharedPackageContainerMember";
}
impl ::std::convert::From<SharedPackageContainerMember> for ::windows::IUnknown {
fn from(value: SharedPackageContainerMember) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&SharedPackageContainerMember> for ::windows::IUnknown {
fn from(value: &SharedPackageContainerMember) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for SharedPackageContainerMember {
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 &SharedPackageContainerMember {
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<SharedPackageContainerMember> for ::windows::IInspectable {
fn from(value: SharedPackageContainerMember) -> Self {
value.0
}
}
impl ::std::convert::From<&SharedPackageContainerMember> for ::windows::IInspectable {
fn from(value: &SharedPackageContainerMember) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for SharedPackageContainerMember {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a SharedPackageContainerMember {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for SharedPackageContainerMember {}
unsafe impl ::std::marker::Sync for SharedPackageContainerMember {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct SharedPackageContainerOperationStatus(pub i32);
impl SharedPackageContainerOperationStatus {
pub const Success: SharedPackageContainerOperationStatus =
SharedPackageContainerOperationStatus(0i32);
pub const BlockedByPolicy: SharedPackageContainerOperationStatus =
SharedPackageContainerOperationStatus(1i32);
pub const AlreadyExists: SharedPackageContainerOperationStatus =
SharedPackageContainerOperationStatus(2i32);
pub const PackageFamilyExistsInAnotherContainer: SharedPackageContainerOperationStatus =
SharedPackageContainerOperationStatus(3i32);
pub const NotFound: SharedPackageContainerOperationStatus =
SharedPackageContainerOperationStatus(4i32);
pub const UnknownFailure: SharedPackageContainerOperationStatus =
SharedPackageContainerOperationStatus(5i32);
}
impl ::std::convert::From<i32> for SharedPackageContainerOperationStatus {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for SharedPackageContainerOperationStatus {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for SharedPackageContainerOperationStatus {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.SharedPackageContainerOperationStatus;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct StagePackageOptions(::windows::IInspectable);
impl StagePackageOptions {
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<
StagePackageOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn DependencyPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
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_foundation::Uri,
>>(result__)
}
}
pub fn TargetVolume(&self) -> ::windows::Result<PackageVolume> {
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::<PackageVolume>(result__)
}
}
pub fn SetTargetVolume<'a, Param0: ::windows::IntoParam<'a, PackageVolume>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn OptionalPackageFamilyNames(
&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).9)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_foundation::Collections::IVector<::windows::HSTRING>>(
result__,
)
}
}
pub fn OptionalPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
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::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn RelatedPackageUris(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVector<::windows_foundation::Uri>>
{
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::Collections::IVector<
::windows_foundation::Uri,
>>(result__)
}
}
pub fn ExternalLocationUri(&self) -> ::windows::Result<::windows_foundation::Uri> {
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_foundation::Uri>(result__)
}
}
pub fn SetExternalLocationUri<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Uri>,
>(
&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 StubPackageOption(&self) -> ::windows::Result<StubPackageOption> {
let this = self;
unsafe {
let mut result__: StubPackageOption = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<StubPackageOption>(result__)
}
}
pub fn SetStubPackageOption(&self, value: StubPackageOption) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn DeveloperMode(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetDeveloperMode(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn ForceUpdateFromAnyVersion(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetForceUpdateFromAnyVersion(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn InstallAllResources(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).20)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetInstallAllResources(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn RequiredContentGroupOnly(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).22)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetRequiredContentGroupOnly(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn StageInPlace(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).24)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetStageInPlace(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value)
.ok()
}
}
pub fn AllowUnsigned(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).26)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn SetAllowUnsigned(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for StagePackageOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.StagePackageOptions;{0b110c9c-b95d-4c56-bd36-6d656800d06b})" ) ;
}
unsafe impl ::windows::Interface for StagePackageOptions {
type Vtable = IStagePackageOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
185666716,
47453,
19542,
[189, 54, 109, 101, 104, 0, 208, 107],
);
}
impl ::windows::RuntimeName for StagePackageOptions {
const NAME: &'static str = "Windows.Management.Deployment.StagePackageOptions";
}
impl ::std::convert::From<StagePackageOptions> for ::windows::IUnknown {
fn from(value: StagePackageOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&StagePackageOptions> for ::windows::IUnknown {
fn from(value: &StagePackageOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for StagePackageOptions {
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 &StagePackageOptions {
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<StagePackageOptions> for ::windows::IInspectable {
fn from(value: StagePackageOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&StagePackageOptions> for ::windows::IInspectable {
fn from(value: &StagePackageOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for StagePackageOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a StagePackageOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for StagePackageOptions {}
unsafe impl ::std::marker::Sync for StagePackageOptions {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct StubPackageOption(pub i32);
impl StubPackageOption {
pub const Default: StubPackageOption = StubPackageOption(0i32);
pub const InstallFull: StubPackageOption = StubPackageOption(1i32);
pub const InstallStub: StubPackageOption = StubPackageOption(2i32);
pub const UsePreference: StubPackageOption = StubPackageOption(3i32);
}
impl ::std::convert::From<i32> for StubPackageOption {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for StubPackageOption {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for StubPackageOption {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Deployment.StubPackageOption;i4)",
);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct UpdateSharedPackageContainerOptions(::windows::IInspectable);
impl UpdateSharedPackageContainerOptions {
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<
UpdateSharedPackageContainerOptions,
::windows::IActivationFactory,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn ForceAppShutdown(&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 SetForceAppShutdown(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok()
}
}
pub fn RequirePackagesPresent(&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 SetRequirePackagesPresent(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok()
}
}
}
unsafe impl ::windows::RuntimeType for UpdateSharedPackageContainerOptions {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.UpdateSharedPackageContainerOptions;{80672e83-7194-59f9-b5b9-daa5375f130a})" ) ;
}
unsafe impl ::windows::Interface for UpdateSharedPackageContainerOptions {
type Vtable = IUpdateSharedPackageContainerOptions_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2154245763,
29076,
23033,
[181, 185, 218, 165, 55, 95, 19, 10],
);
}
impl ::windows::RuntimeName for UpdateSharedPackageContainerOptions {
const NAME: &'static str =
"Windows.Management.Deployment.UpdateSharedPackageContainerOptions";
}
impl ::std::convert::From<UpdateSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: UpdateSharedPackageContainerOptions) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&UpdateSharedPackageContainerOptions> for ::windows::IUnknown {
fn from(value: &UpdateSharedPackageContainerOptions) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for UpdateSharedPackageContainerOptions {
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 &UpdateSharedPackageContainerOptions {
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<UpdateSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: UpdateSharedPackageContainerOptions) -> Self {
value.0
}
}
impl ::std::convert::From<&UpdateSharedPackageContainerOptions> for ::windows::IInspectable {
fn from(value: &UpdateSharedPackageContainerOptions) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for UpdateSharedPackageContainerOptions {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a UpdateSharedPackageContainerOptions
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for UpdateSharedPackageContainerOptions {}
unsafe impl ::std::marker::Sync for UpdateSharedPackageContainerOptions {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct UpdateSharedPackageContainerResult(::windows::IInspectable);
impl UpdateSharedPackageContainerResult {
pub fn Status(&self) -> ::windows::Result<SharedPackageContainerOperationStatus> {
let this = self;
unsafe {
let mut result__: SharedPackageContainerOperationStatus = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<SharedPackageContainerOperationStatus>(result__)
}
}
pub fn ExtendedError(&self) -> ::windows::Result<::windows::HRESULT> {
let this = self;
unsafe {
let mut result__: ::windows::HRESULT = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows::HRESULT>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for UpdateSharedPackageContainerResult {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Deployment.UpdateSharedPackageContainerResult;{aa407df7-c72d-5458-aea3-4645b6a8ee99})" ) ;
}
unsafe impl ::windows::Interface for UpdateSharedPackageContainerResult {
type Vtable = IUpdateSharedPackageContainerResult_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2856353271,
50989,
21592,
[174, 163, 70, 69, 182, 168, 238, 153],
);
}
impl ::windows::RuntimeName for UpdateSharedPackageContainerResult {
const NAME: &'static str =
"Windows.Management.Deployment.UpdateSharedPackageContainerResult";
}
impl ::std::convert::From<UpdateSharedPackageContainerResult> for ::windows::IUnknown {
fn from(value: UpdateSharedPackageContainerResult) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&UpdateSharedPackageContainerResult> for ::windows::IUnknown {
fn from(value: &UpdateSharedPackageContainerResult) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for UpdateSharedPackageContainerResult {
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 &UpdateSharedPackageContainerResult {
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<UpdateSharedPackageContainerResult> for ::windows::IInspectable {
fn from(value: UpdateSharedPackageContainerResult) -> Self {
value.0
}
}
impl ::std::convert::From<&UpdateSharedPackageContainerResult> for ::windows::IInspectable {
fn from(value: &UpdateSharedPackageContainerResult) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for UpdateSharedPackageContainerResult {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable>
for &'a UpdateSharedPackageContainerResult
{
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for UpdateSharedPackageContainerResult {}
unsafe impl ::std::marker::Sync for UpdateSharedPackageContainerResult {}
}
pub mod Policies {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct INamedPolicyData(::windows::IInspectable);
unsafe impl ::windows::Interface for INamedPolicyData {
type Vtable = INamedPolicyData_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
953987480,
38316,
16503,
[166, 67, 128, 120, 202, 226, 100, 0],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct INamedPolicyData_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 NamedPolicyKind,
) -> ::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,
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 i32,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut i64,
) -> ::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,
changedhandler: ::windows::RawPtr,
result__: *mut ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
cookie: ::windows_foundation::EventRegistrationToken,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct INamedPolicyStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for INamedPolicyStatics {
type Vtable = INamedPolicyStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2138651623,
30404,
16472,
[140, 173, 103, 102, 44, 208, 95, 13],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct INamedPolicyStatics_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,
area: ::std::mem::ManuallyDrop<::windows::HSTRING>,
name: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
user: ::windows::RawPtr,
area: ::std::mem::ManuallyDrop<::windows::HSTRING>,
name: ::std::mem::ManuallyDrop<::windows::HSTRING>,
result__: *mut ::windows::RawPtr,
) -> ::windows::HRESULT,
);
pub struct NamedPolicy {}
impl NamedPolicy {
pub fn GetPolicyFromPath<
'a,
Param0: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
area: Param0,
name: Param1,
) -> ::windows::Result<NamedPolicyData> {
Self::INamedPolicyStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
area.into_param().abi(),
name.into_param().abi(),
&mut result__,
)
.from_abi::<NamedPolicyData>(result__)
})
}
pub fn GetPolicyFromPathForUser<
'a,
Param0: ::windows::IntoParam<'a, ::windows_system::User>,
Param1: ::windows::IntoParam<'a, ::windows::HSTRING>,
Param2: ::windows::IntoParam<'a, ::windows::HSTRING>,
>(
user: Param0,
area: Param1,
name: Param2,
) -> ::windows::Result<NamedPolicyData> {
Self::INamedPolicyStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
user.into_param().abi(),
area.into_param().abi(),
name.into_param().abi(),
&mut result__,
)
.from_abi::<NamedPolicyData>(result__)
})
}
pub fn INamedPolicyStatics<R, F: FnOnce(&INamedPolicyStatics) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<NamedPolicy, INamedPolicyStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for NamedPolicy {
const NAME: &'static str = "Windows.Management.Policies.NamedPolicy";
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct NamedPolicyData(::windows::IInspectable);
impl NamedPolicyData {
pub fn Area(&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__)
}
}
pub fn Kind(&self) -> ::windows::Result<NamedPolicyKind> {
let this = self;
unsafe {
let mut result__: NamedPolicyKind = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<NamedPolicyKind>(result__)
}
}
pub fn IsManaged(&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 IsUserPolicy(&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 User(&self) -> ::windows::Result<::windows_system::User> {
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_system::User>(result__)
}
}
pub fn GetBoolean(&self) -> ::windows::Result<bool> {
let this = self;
unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).12)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
}
}
pub fn GetBinary(&self) -> ::windows::Result<::windows_storage::Streams::IBuffer> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<::windows_storage::Streams::IBuffer>(result__)
}
}
pub fn GetInt32(&self) -> ::windows::Result<i32> {
let this = self;
unsafe {
let mut result__: i32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<i32>(result__)
}
}
pub fn GetInt64(&self) -> ::windows::Result<i64> {
let this = self;
unsafe {
let mut result__: i64 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).15)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<i64>(result__)
}
}
pub fn GetString(&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 Changed<
'a,
Param0: ::windows::IntoParam<
'a,
::windows_foundation::TypedEventHandler<NamedPolicyData, ::windows::IInspectable>,
>,
>(
&self,
changedhandler: Param0,
) -> ::windows::Result<::windows_foundation::EventRegistrationToken> {
let this = self;
unsafe {
let mut result__: ::windows_foundation::EventRegistrationToken =
::std::mem::zeroed();
(::windows::Interface::vtable(this).17)(
::std::mem::transmute_copy(this),
changedhandler.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::EventRegistrationToken>(result__)
}
}
pub fn RemoveChanged<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::EventRegistrationToken>,
>(
&self,
cookie: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
cookie.into_param().abi(),
)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for NamedPolicyData {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Policies.NamedPolicyData;{38dcb198-95ac-4077-a643-8078cae26400})" ) ;
}
unsafe impl ::windows::Interface for NamedPolicyData {
type Vtable = INamedPolicyData_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
953987480,
38316,
16503,
[166, 67, 128, 120, 202, 226, 100, 0],
);
}
impl ::windows::RuntimeName for NamedPolicyData {
const NAME: &'static str = "Windows.Management.Policies.NamedPolicyData";
}
impl ::std::convert::From<NamedPolicyData> for ::windows::IUnknown {
fn from(value: NamedPolicyData) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&NamedPolicyData> for ::windows::IUnknown {
fn from(value: &NamedPolicyData) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for NamedPolicyData {
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 &NamedPolicyData {
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<NamedPolicyData> for ::windows::IInspectable {
fn from(value: NamedPolicyData) -> Self {
value.0
}
}
impl ::std::convert::From<&NamedPolicyData> for ::windows::IInspectable {
fn from(value: &NamedPolicyData) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for NamedPolicyData {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a NamedPolicyData {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for NamedPolicyData {}
unsafe impl ::std::marker::Sync for NamedPolicyData {}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct NamedPolicyKind(pub i32);
impl NamedPolicyKind {
pub const Invalid: NamedPolicyKind = NamedPolicyKind(0i32);
pub const Binary: NamedPolicyKind = NamedPolicyKind(1i32);
pub const Boolean: NamedPolicyKind = NamedPolicyKind(2i32);
pub const Int32: NamedPolicyKind = NamedPolicyKind(3i32);
pub const Int64: NamedPolicyKind = NamedPolicyKind(4i32);
pub const String: NamedPolicyKind = NamedPolicyKind(5i32);
}
impl ::std::convert::From<i32> for NamedPolicyKind {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for NamedPolicyKind {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for NamedPolicyKind {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Policies.NamedPolicyKind;i4)",
);
}
}
pub mod Update {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPreviewBuildsManager(::windows::IInspectable);
unsafe impl ::windows::Interface for IPreviewBuildsManager {
type Vtable = IPreviewBuildsManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4194819425,
32335,
23031,
[124, 159, 222, 249, 5, 28, 95, 98],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPreviewBuildsManager_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,
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 IPreviewBuildsManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IPreviewBuildsManagerStatics {
type Vtable = IPreviewBuildsManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
1044523143,
45330,
23152,
[125, 161, 151, 215, 141, 50, 170, 41],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPreviewBuildsManagerStatics_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 bool,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IPreviewBuildsState(::windows::IInspectable);
unsafe impl ::windows::Interface for IPreviewBuildsState {
type Vtable = IPreviewBuildsState_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2733805630,
45603,
24419,
[117, 70, 62, 142, 172, 7, 10, 46],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IPreviewBuildsState_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 PreviewBuildsManager(::windows::IInspectable);
impl PreviewBuildsManager {
pub fn ArePreviewBuildsAllowed(&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 SetArePreviewBuildsAllowed(&self, value: bool) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok()
}
}
pub fn GetCurrentState(&self) -> ::windows::Result<PreviewBuildsState> {
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::<PreviewBuildsState>(result__)
}
}
pub fn SyncAsync(&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 GetDefault() -> ::windows::Result<PreviewBuildsManager> {
Self::IPreviewBuildsManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<PreviewBuildsManager>(result__)
})
}
pub fn IsSupported() -> ::windows::Result<bool> {
Self::IPreviewBuildsManagerStatics(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn IPreviewBuildsManagerStatics<
R,
F: FnOnce(&IPreviewBuildsManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
PreviewBuildsManager,
IPreviewBuildsManagerStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
unsafe impl ::windows::RuntimeType for PreviewBuildsManager {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Update.PreviewBuildsManager;{fa07dd61-7e4f-59f7-7c9f-def9051c5f62})" ) ;
}
unsafe impl ::windows::Interface for PreviewBuildsManager {
type Vtable = IPreviewBuildsManager_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4194819425,
32335,
23031,
[124, 159, 222, 249, 5, 28, 95, 98],
);
}
impl ::windows::RuntimeName for PreviewBuildsManager {
const NAME: &'static str = "Windows.Management.Update.PreviewBuildsManager";
}
impl ::std::convert::From<PreviewBuildsManager> for ::windows::IUnknown {
fn from(value: PreviewBuildsManager) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PreviewBuildsManager> for ::windows::IUnknown {
fn from(value: &PreviewBuildsManager) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PreviewBuildsManager {
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 &PreviewBuildsManager {
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<PreviewBuildsManager> for ::windows::IInspectable {
fn from(value: PreviewBuildsManager) -> Self {
value.0
}
}
impl ::std::convert::From<&PreviewBuildsManager> for ::windows::IInspectable {
fn from(value: &PreviewBuildsManager) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PreviewBuildsManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PreviewBuildsManager {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for PreviewBuildsManager {}
unsafe impl ::std::marker::Sync for PreviewBuildsManager {}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct PreviewBuildsState(::windows::IInspectable);
impl PreviewBuildsState {
pub fn Properties(&self) -> ::windows::Result<::windows_foundation::Collections::ValueSet> {
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::ValueSet>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for PreviewBuildsState {
const SIGNATURE : :: windows :: ConstBuffer = :: windows :: ConstBuffer :: from_slice ( b"rc(Windows.Management.Update.PreviewBuildsState;{a2f2903e-b223-5f63-7546-3e8eac070a2e})" ) ;
}
unsafe impl ::windows::Interface for PreviewBuildsState {
type Vtable = IPreviewBuildsState_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2733805630,
45603,
24419,
[117, 70, 62, 142, 172, 7, 10, 46],
);
}
impl ::windows::RuntimeName for PreviewBuildsState {
const NAME: &'static str = "Windows.Management.Update.PreviewBuildsState";
}
impl ::std::convert::From<PreviewBuildsState> for ::windows::IUnknown {
fn from(value: PreviewBuildsState) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&PreviewBuildsState> for ::windows::IUnknown {
fn from(value: &PreviewBuildsState) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for PreviewBuildsState {
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 &PreviewBuildsState {
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<PreviewBuildsState> for ::windows::IInspectable {
fn from(value: PreviewBuildsState) -> Self {
value.0
}
}
impl ::std::convert::From<&PreviewBuildsState> for ::windows::IInspectable {
fn from(value: &PreviewBuildsState) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for PreviewBuildsState {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a PreviewBuildsState {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
unsafe impl ::std::marker::Send for PreviewBuildsState {}
unsafe impl ::std::marker::Sync for PreviewBuildsState {}
}
pub mod Workplace {
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IMdmAllowPolicyStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IMdmAllowPolicyStatics {
type Vtable = IMdmAllowPolicyStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3281455591,
29724,
16882,
[164, 182, 49, 76, 49, 80, 37, 134],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMdmAllowPolicyStatics_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,
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,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IMdmPolicyStatics2(::windows::IInspectable);
unsafe impl ::windows::Interface for IMdmPolicyStatics2 {
type Vtable = IMdmPolicyStatics2_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3382474022,
980,
18937,
[169, 147, 67, 239, 204, 210, 101, 196],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMdmPolicyStatics2_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 MessagingSyncPolicy,
) -> ::windows::HRESULT,
);
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IWorkplaceSettingsStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IWorkplaceSettingsStatics {
type Vtable = IWorkplaceSettingsStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3831984125,
11666,
19464,
[186, 212, 246, 89, 11, 84, 166, 211],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IWorkplaceSettingsStatics_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 MdmPolicy {}
impl MdmPolicy {
pub fn IsBrowserAllowed() -> ::windows::Result<bool> {
Self::IMdmAllowPolicyStatics(|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 IsCameraAllowed() -> ::windows::Result<bool> {
Self::IMdmAllowPolicyStatics(|this| unsafe {
let mut result__: bool = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<bool>(result__)
})
}
pub fn IsMicrosoftAccountAllowed() -> ::windows::Result<bool> {
Self::IMdmAllowPolicyStatics(|this| 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 IsStoreAllowed() -> ::windows::Result<bool> {
Self::IMdmAllowPolicyStatics(|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 GetMessagingSyncPolicy() -> ::windows::Result<MessagingSyncPolicy> {
Self::IMdmPolicyStatics2(|this| unsafe {
let mut result__: MessagingSyncPolicy = ::std::mem::zeroed();
(::windows::Interface::vtable(this).6)(
::std::mem::transmute_copy(this),
&mut result__,
)
.from_abi::<MessagingSyncPolicy>(result__)
})
}
pub fn IMdmAllowPolicyStatics<
R,
F: FnOnce(&IMdmAllowPolicyStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<MdmPolicy, IMdmAllowPolicyStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn IMdmPolicyStatics2<R, F: FnOnce(&IMdmPolicyStatics2) -> ::windows::Result<R>>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<MdmPolicy, IMdmPolicyStatics2> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for MdmPolicy {
const NAME: &'static str = "Windows.Management.Workplace.MdmPolicy";
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct MessagingSyncPolicy(pub i32);
impl MessagingSyncPolicy {
pub const Disallowed: MessagingSyncPolicy = MessagingSyncPolicy(0i32);
pub const Allowed: MessagingSyncPolicy = MessagingSyncPolicy(1i32);
pub const Required: MessagingSyncPolicy = MessagingSyncPolicy(2i32);
}
impl ::std::convert::From<i32> for MessagingSyncPolicy {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for MessagingSyncPolicy {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for MessagingSyncPolicy {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"enum(Windows.Management.Workplace.MessagingSyncPolicy;i4)",
);
}
pub struct WorkplaceSettings {}
impl WorkplaceSettings {
pub fn IsMicrosoftAccountOptional() -> ::windows::Result<bool> {
Self::IWorkplaceSettingsStatics(|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 IWorkplaceSettingsStatics<
R,
F: FnOnce(&IWorkplaceSettingsStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<
WorkplaceSettings,
IWorkplaceSettingsStatics,
> = ::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for WorkplaceSettings {
const NAME: &'static str = "Windows.Management.Workplace.WorkplaceSettings";
}
#[repr(C)]
#[derive(
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
)]
pub struct WorkplaceSettingsContract(pub u8);
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
#[doc(hidden)]
pub struct IMdmAlert(::windows::IInspectable);
unsafe impl ::windows::Interface for IMdmAlert {
type Vtable = IMdmAlert_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2969289511,
10433,
19282,
[165, 72, 197, 128, 124, 175, 112, 182],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMdmAlert_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 MdmAlertDataType,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: MdmAlertDataType,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut MdmAlertMark,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
value: MdmAlertMark,
) -> ::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 u32) -> ::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 IMdmSession(::windows::IInspectable);
unsafe impl ::windows::Interface for IMdmSession {
type Vtable = IMdmSession_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4270403916,
36708,
18327,
[169, 215, 157, 136, 248, 106, 225, 102],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMdmSession_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::HRESULT,
) -> ::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 MdmSessionState,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
result__: *mut ::windows::RawPtr,
) -> ::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,
alerts: ::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 IMdmSessionManagerStatics(::windows::IInspectable);
unsafe impl ::windows::Interface for IMdmSessionManagerStatics {
type Vtable = IMdmSessionManagerStatics_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
3477789017,
63301,
19321,
[155, 92, 222, 11, 248, 239, 228, 75],
);
}
#[repr(C)]
#[doc(hidden)]
pub struct IMdmSessionManagerStatics_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,
sessionid: ::std::mem::ManuallyDrop<::windows::HSTRING>,
) -> ::windows::HRESULT,
pub unsafe extern "system" fn(
this: ::windows::RawPtr,
sessionid: ::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,
)]
pub struct MdmAlert(::windows::IInspectable);
impl MdmAlert {
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<MdmAlert, ::windows::IActivationFactory> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
pub fn Data(&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 SetData<'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 Format(&self) -> ::windows::Result<MdmAlertDataType> {
let this = self;
unsafe {
let mut result__: MdmAlertDataType = ::std::mem::zeroed();
(::windows::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__)
.from_abi::<MdmAlertDataType>(result__)
}
}
pub fn SetFormat(&self, value: MdmAlertDataType) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok()
}
}
pub fn Mark(&self) -> ::windows::Result<MdmAlertMark> {
let this = self;
unsafe {
let mut result__: MdmAlertMark = ::std::mem::zeroed();
(::windows::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__)
.from_abi::<MdmAlertMark>(result__)
}
}
pub fn SetMark(&self, value: MdmAlertMark) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok()
}
}
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).12)(::std::mem::transmute_copy(this), &mut result__)
.from_abi::<::windows::HSTRING>(result__)
}
}
pub fn SetSource<'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 Status(&self) -> ::windows::Result<u32> {
let this = self;
unsafe {
let mut result__: u32 = ::std::mem::zeroed();
(::windows::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__)
.from_abi::<u32>(result__)
}
}
pub fn Target(&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 SetTarget<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).16)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
pub fn Type(&self) -> ::windows::Result<::windows::HSTRING> {
let this = self;
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 SetType<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
&self,
value: Param0,
) -> ::windows::Result<()> {
let this = self;
unsafe {
(::windows::Interface::vtable(this).18)(
::std::mem::transmute_copy(this),
value.into_param().abi(),
)
.ok()
}
}
}
unsafe impl ::windows::RuntimeType for MdmAlert {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"rc(Windows.Management.MdmAlert;{b0fbc327-28c1-4b52-a548-c5807caf70b6})",
);
}
unsafe impl ::windows::Interface for MdmAlert {
type Vtable = IMdmAlert_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
2969289511,
10433,
19282,
[165, 72, 197, 128, 124, 175, 112, 182],
);
}
impl ::windows::RuntimeName for MdmAlert {
const NAME: &'static str = "Windows.Management.MdmAlert";
}
impl ::std::convert::From<MdmAlert> for ::windows::IUnknown {
fn from(value: MdmAlert) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&MdmAlert> for ::windows::IUnknown {
fn from(value: &MdmAlert) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for MdmAlert {
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 &MdmAlert {
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<MdmAlert> for ::windows::IInspectable {
fn from(value: MdmAlert) -> Self {
value.0
}
}
impl ::std::convert::From<&MdmAlert> for ::windows::IInspectable {
fn from(value: &MdmAlert) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for MdmAlert {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a MdmAlert {
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 MdmAlertDataType(pub i32);
impl MdmAlertDataType {
pub const String: MdmAlertDataType = MdmAlertDataType(0i32);
pub const Base64: MdmAlertDataType = MdmAlertDataType(1i32);
pub const Boolean: MdmAlertDataType = MdmAlertDataType(2i32);
pub const Integer: MdmAlertDataType = MdmAlertDataType(3i32);
}
impl ::std::convert::From<i32> for MdmAlertDataType {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for MdmAlertDataType {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for MdmAlertDataType {
const SIGNATURE: ::windows::ConstBuffer =
::windows::ConstBuffer::from_slice(b"enum(Windows.Management.MdmAlertDataType;i4)");
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct MdmAlertMark(pub i32);
impl MdmAlertMark {
pub const None: MdmAlertMark = MdmAlertMark(0i32);
pub const Fatal: MdmAlertMark = MdmAlertMark(1i32);
pub const Critical: MdmAlertMark = MdmAlertMark(2i32);
pub const Warning: MdmAlertMark = MdmAlertMark(3i32);
pub const Informational: MdmAlertMark = MdmAlertMark(4i32);
}
impl ::std::convert::From<i32> for MdmAlertMark {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for MdmAlertMark {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for MdmAlertMark {
const SIGNATURE: ::windows::ConstBuffer =
::windows::ConstBuffer::from_slice(b"enum(Windows.Management.MdmAlertMark;i4)");
}
#[repr(transparent)]
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: clone :: Clone,
:: std :: fmt :: Debug,
)]
pub struct MdmSession(::windows::IInspectable);
impl MdmSession {
pub fn Alerts(
&self,
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<MdmAlert>> {
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::IVectorView<MdmAlert>>(result__)
}
}
pub fn ExtendedError(&self) -> ::windows::Result<::windows::HRESULT> {
let this = self;
unsafe {
let mut result__: ::windows::HRESULT = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__)
.from_abi::<::windows::HRESULT>(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 State(&self) -> ::windows::Result<MdmSessionState> {
let this = self;
unsafe {
let mut result__: MdmSessionState = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__)
.from_abi::<MdmSessionState>(result__)
}
}
pub fn AttachAsync(&self) -> ::windows::Result<::windows_foundation::IAsyncAction> {
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::IAsyncAction>(result__)
}
}
pub fn Delete(&self) -> ::windows::Result<()> {
let this = self;
unsafe { (::windows::Interface::vtable(this).11)(::std::mem::transmute_copy(this)).ok() }
}
pub fn StartAsync(&self) -> ::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), &mut result__)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
pub fn StartWithAlertsAsync<
'a,
Param0: ::windows::IntoParam<'a, ::windows_foundation::Collections::IIterable<MdmAlert>>,
>(
&self,
alerts: Param0,
) -> ::windows::Result<::windows_foundation::IAsyncAction> {
let this = self;
unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).13)(
::std::mem::transmute_copy(this),
alerts.into_param().abi(),
&mut result__,
)
.from_abi::<::windows_foundation::IAsyncAction>(result__)
}
}
}
unsafe impl ::windows::RuntimeType for MdmSession {
const SIGNATURE: ::windows::ConstBuffer = ::windows::ConstBuffer::from_slice(
b"rc(Windows.Management.MdmSession;{fe89314c-8f64-4797-a9d7-9d88f86ae166})",
);
}
unsafe impl ::windows::Interface for MdmSession {
type Vtable = IMdmSession_abi;
const IID: ::windows::Guid = ::windows::Guid::from_values(
4270403916,
36708,
18327,
[169, 215, 157, 136, 248, 106, 225, 102],
);
}
impl ::windows::RuntimeName for MdmSession {
const NAME: &'static str = "Windows.Management.MdmSession";
}
impl ::std::convert::From<MdmSession> for ::windows::IUnknown {
fn from(value: MdmSession) -> Self {
unsafe { ::std::mem::transmute(value) }
}
}
impl ::std::convert::From<&MdmSession> for ::windows::IUnknown {
fn from(value: &MdmSession) -> Self {
::std::convert::From::from(::std::clone::Clone::clone(value))
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IUnknown> for MdmSession {
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 &MdmSession {
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<MdmSession> for ::windows::IInspectable {
fn from(value: MdmSession) -> Self {
value.0
}
}
impl ::std::convert::From<&MdmSession> for ::windows::IInspectable {
fn from(value: &MdmSession) -> Self {
value.0.clone()
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for MdmSession {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Owned(self.0)
}
}
impl<'a> ::windows::IntoParam<'a, ::windows::IInspectable> for &'a MdmSession {
fn into_param(self) -> ::windows::Param<'a, ::windows::IInspectable> {
::windows::Param::Borrowed(&self.0)
}
}
pub struct MdmSessionManager {}
impl MdmSessionManager {
pub fn SessionIds(
) -> ::windows::Result<::windows_foundation::Collections::IVectorView<::windows::HSTRING>> {
Self::IMdmSessionManagerStatics(|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<::windows::HSTRING>>(
result__,
)
})
}
pub fn TryCreateSession() -> ::windows::Result<MdmSession> {
Self::IMdmSessionManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__)
.from_abi::<MdmSession>(result__)
})
}
pub fn DeleteSessionById<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
sessionid: Param0,
) -> ::windows::Result<()> {
Self::IMdmSessionManagerStatics(|this| unsafe {
(::windows::Interface::vtable(this).8)(
::std::mem::transmute_copy(this),
sessionid.into_param().abi(),
)
.ok()
})
}
pub fn GetSessionById<'a, Param0: ::windows::IntoParam<'a, ::windows::HSTRING>>(
sessionid: Param0,
) -> ::windows::Result<MdmSession> {
Self::IMdmSessionManagerStatics(|this| unsafe {
let mut result__: ::windows::RawPtr = ::std::mem::zeroed();
(::windows::Interface::vtable(this).9)(
::std::mem::transmute_copy(this),
sessionid.into_param().abi(),
&mut result__,
)
.from_abi::<MdmSession>(result__)
})
}
pub fn IMdmSessionManagerStatics<
R,
F: FnOnce(&IMdmSessionManagerStatics) -> ::windows::Result<R>,
>(
callback: F,
) -> ::windows::Result<R> {
static mut SHARED: ::windows::FactoryCache<MdmSessionManager, IMdmSessionManagerStatics> =
::windows::FactoryCache::new();
unsafe { SHARED.call(callback) }
}
}
impl ::windows::RuntimeName for MdmSessionManager {
const NAME: &'static str = "Windows.Management.MdmSessionManager";
}
#[derive(
:: std :: cmp :: PartialEq,
:: std :: cmp :: Eq,
:: std :: marker :: Copy,
:: std :: clone :: Clone,
:: std :: default :: Default,
:: std :: fmt :: Debug,
)]
#[repr(transparent)]
pub struct MdmSessionState(pub i32);
impl MdmSessionState {
pub const NotStarted: MdmSessionState = MdmSessionState(0i32);
pub const Starting: MdmSessionState = MdmSessionState(1i32);
pub const Connecting: MdmSessionState = MdmSessionState(2i32);
pub const Communicating: MdmSessionState = MdmSessionState(3i32);
pub const AlertStatusAvailable: MdmSessionState = MdmSessionState(4i32);
pub const Retrying: MdmSessionState = MdmSessionState(5i32);
pub const Completed: MdmSessionState = MdmSessionState(6i32);
}
impl ::std::convert::From<i32> for MdmSessionState {
fn from(value: i32) -> Self {
Self(value)
}
}
unsafe impl ::windows::Abi for MdmSessionState {
type Abi = Self;
type DefaultType = Self;
}
unsafe impl ::windows::RuntimeType for MdmSessionState {
const SIGNATURE: ::windows::ConstBuffer =
::windows::ConstBuffer::from_slice(b"enum(Windows.Management.MdmSessionState;i4)");
}