]> git.proxmox.com Git - rustc.git/blobdiff - vendor/windows/src/Windows/Phone/Management/Deployment/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Phone / Management / Deployment / mod.rs
diff --git a/vendor/windows/src/Windows/Phone/Management/Deployment/mod.rs b/vendor/windows/src/Windows/Phone/Management/Deployment/mod.rs
new file mode 100644 (file)
index 0000000..e697758
--- /dev/null
@@ -0,0 +1,588 @@
+#[doc(hidden)]
+#[repr(transparent)]
+pub struct IEnterprise(::windows::core::IUnknown);
+unsafe impl ::windows::core::Interface for IEnterprise {
+    type Vtable = IEnterprise_Vtbl;
+}
+impl ::core::clone::Clone for IEnterprise {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::ComInterface for IEnterprise {
+    const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x96592f8d_856c_4426_a947_b06307718078);
+}
+#[repr(C)]
+#[doc(hidden)]
+pub struct IEnterprise_Vtbl {
+    pub base__: ::windows::core::IInspectable_Vtbl,
+    pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
+    pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
+    pub WorkplaceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT,
+    #[cfg(feature = "Foundation")]
+    pub EnrollmentValidFrom: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation"))]
+    EnrollmentValidFrom: usize,
+    #[cfg(feature = "Foundation")]
+    pub EnrollmentValidTo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation"))]
+    EnrollmentValidTo: usize,
+    pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut EnterpriseStatus) -> ::windows::core::HRESULT,
+}
+#[doc(hidden)]
+#[repr(transparent)]
+pub struct IEnterpriseEnrollmentManager(::windows::core::IUnknown);
+unsafe impl ::windows::core::Interface for IEnterpriseEnrollmentManager {
+    type Vtable = IEnterpriseEnrollmentManager_Vtbl;
+}
+impl ::core::clone::Clone for IEnterpriseEnrollmentManager {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::ComInterface for IEnterpriseEnrollmentManager {
+    const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x20f9f390_2c69_41d8_88e6_e4b3884026cb);
+}
+#[repr(C)]
+#[doc(hidden)]
+pub struct IEnterpriseEnrollmentManager_Vtbl {
+    pub base__: ::windows::core::IInspectable_Vtbl,
+    #[cfg(feature = "Foundation_Collections")]
+    pub EnrolledEnterprises: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation_Collections"))]
+    EnrolledEnterprises: usize,
+    pub CurrentEnterprise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(feature = "Foundation")]
+    pub ValidateEnterprisesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation"))]
+    ValidateEnterprisesAsync: usize,
+    #[cfg(feature = "Foundation")]
+    pub RequestEnrollmentAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enrollmenttoken: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation"))]
+    RequestEnrollmentAsync: usize,
+    #[cfg(feature = "Foundation")]
+    pub RequestUnenrollmentAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enterprise: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation"))]
+    RequestUnenrollmentAsync: usize,
+}
+#[doc(hidden)]
+#[repr(transparent)]
+pub struct IEnterpriseEnrollmentResult(::windows::core::IUnknown);
+unsafe impl ::windows::core::Interface for IEnterpriseEnrollmentResult {
+    type Vtable = IEnterpriseEnrollmentResult_Vtbl;
+}
+impl ::core::clone::Clone for IEnterpriseEnrollmentResult {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::ComInterface for IEnterpriseEnrollmentResult {
+    const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9ff71ce6_90db_4342_b326_1729aa91301c);
+}
+#[repr(C)]
+#[doc(hidden)]
+pub struct IEnterpriseEnrollmentResult_Vtbl {
+    pub base__: ::windows::core::IInspectable_Vtbl,
+    pub EnrolledEnterprise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut EnterpriseEnrollmentStatus) -> ::windows::core::HRESULT,
+}
+#[doc(hidden)]
+#[repr(transparent)]
+pub struct IInstallationManagerStatics(::windows::core::IUnknown);
+unsafe impl ::windows::core::Interface for IInstallationManagerStatics {
+    type Vtable = IInstallationManagerStatics_Vtbl;
+}
+impl ::core::clone::Clone for IInstallationManagerStatics {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::ComInterface for IInstallationManagerStatics {
+    const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x929aa738_8d49_42ac_80c9_b4ad793c43f2);
+}
+#[repr(C)]
+#[doc(hidden)]
+pub struct IInstallationManagerStatics_Vtbl {
+    pub base__: ::windows::core::IInspectable_Vtbl,
+    #[cfg(feature = "Foundation")]
+    pub AddPackageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, title: ::std::mem::MaybeUninit<::windows::core::HSTRING>, sourcelocation: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation"))]
+    AddPackageAsync: usize,
+    #[cfg(feature = "Foundation")]
+    pub AddPackagePreloadedAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, title: ::std::mem::MaybeUninit<::windows::core::HSTRING>, sourcelocation: *mut ::core::ffi::c_void, instanceid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, offerid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, license: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation"))]
+    AddPackagePreloadedAsync: usize,
+    #[cfg(feature = "Foundation_Collections")]
+    pub GetPendingPackageInstalls: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Foundation_Collections"))]
+    GetPendingPackageInstalls: usize,
+    #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))]
+    pub FindPackagesForCurrentPublisher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(all(feature = "ApplicationModel", feature = "Foundation_Collections")))]
+    FindPackagesForCurrentPublisher: usize,
+    #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))]
+    pub FindPackages: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(all(feature = "ApplicationModel", feature = "Foundation_Collections")))]
+    FindPackages: usize,
+}
+#[doc(hidden)]
+#[repr(transparent)]
+pub struct IInstallationManagerStatics2(::windows::core::IUnknown);
+unsafe impl ::windows::core::Interface for IInstallationManagerStatics2 {
+    type Vtable = IInstallationManagerStatics2_Vtbl;
+}
+impl ::core::clone::Clone for IInstallationManagerStatics2 {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::ComInterface for IInstallationManagerStatics2 {
+    const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7c6c2cbd_fa4a_4c8e_ab97_d959452f19e5);
+}
+#[repr(C)]
+#[doc(hidden)]
+pub struct IInstallationManagerStatics2_Vtbl {
+    pub base__: ::windows::core::IInspectable_Vtbl,
+    #[cfg(all(feature = "Foundation", feature = "Management_Deployment"))]
+    pub RemovePackageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, packagefullname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, removaloptions: super::super::super::Management::Deployment::RemovalOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(all(feature = "Foundation", feature = "Management_Deployment")))]
+    RemovePackageAsync: usize,
+    #[cfg(all(feature = "Foundation_Collections", feature = "Management_Deployment"))]
+    pub RegisterPackageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, manifesturi: *mut ::core::ffi::c_void, dependencypackageuris: *mut ::core::ffi::c_void, deploymentoptions: super::super::super::Management::Deployment::DeploymentOptions, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(all(feature = "Foundation_Collections", feature = "Management_Deployment")))]
+    RegisterPackageAsync: usize,
+    #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))]
+    pub FindPackagesByNamePublisher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, packagename: ::std::mem::MaybeUninit<::windows::core::HSTRING>, packagepublisher: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
+    #[cfg(not(all(feature = "ApplicationModel", feature = "Foundation_Collections")))]
+    FindPackagesByNamePublisher: usize,
+}
+#[doc(hidden)]
+#[repr(transparent)]
+pub struct IPackageInstallResult(::windows::core::IUnknown);
+unsafe impl ::windows::core::Interface for IPackageInstallResult {
+    type Vtable = IPackageInstallResult_Vtbl;
+}
+impl ::core::clone::Clone for IPackageInstallResult {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::ComInterface for IPackageInstallResult {
+    const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x33e8eed5_0f7e_4473_967c_7d6e1c0e7de1);
+}
+#[repr(C)]
+#[doc(hidden)]
+pub struct IPackageInstallResult_Vtbl {
+    pub base__: ::windows::core::IInspectable_Vtbl,
+    pub ProductId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
+    #[cfg(feature = "Management_Deployment")]
+    pub InstallState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Management::Deployment::PackageInstallState) -> ::windows::core::HRESULT,
+    #[cfg(not(feature = "Management_Deployment"))]
+    InstallState: usize,
+}
+#[doc(hidden)]
+#[repr(transparent)]
+pub struct IPackageInstallResult2(::windows::core::IUnknown);
+unsafe impl ::windows::core::Interface for IPackageInstallResult2 {
+    type Vtable = IPackageInstallResult2_Vtbl;
+}
+impl ::core::clone::Clone for IPackageInstallResult2 {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::ComInterface for IPackageInstallResult2 {
+    const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7149d909_3ff9_41ed_a717_2bc65ffc61d2);
+}
+#[repr(C)]
+#[doc(hidden)]
+pub struct IPackageInstallResult2_Vtbl {
+    pub base__: ::windows::core::IInspectable_Vtbl,
+    pub ErrorText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
+}
+#[doc = "*Required features: `\"Phone_Management_Deployment\"`*"]
+#[repr(transparent)]
+pub struct Enterprise(::windows::core::IUnknown);
+impl Enterprise {
+    pub fn Id(&self) -> ::windows::core::Result<::windows::core::GUID> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
+            (::windows::core::Interface::vtable(this).Id)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    pub fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
+            (::windows::core::Interface::vtable(this).Name)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    pub fn WorkplaceId(&self) -> ::windows::core::Result<i32> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<i32>();
+            (::windows::core::Interface::vtable(this).WorkplaceId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    #[doc = "*Required features: `\"Foundation\"`*"]
+    #[cfg(feature = "Foundation")]
+    pub fn EnrollmentValidFrom(&self) -> ::windows::core::Result<super::super::super::Foundation::DateTime> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::DateTime>();
+            (::windows::core::Interface::vtable(this).EnrollmentValidFrom)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    #[doc = "*Required features: `\"Foundation\"`*"]
+    #[cfg(feature = "Foundation")]
+    pub fn EnrollmentValidTo(&self) -> ::windows::core::Result<super::super::super::Foundation::DateTime> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::DateTime>();
+            (::windows::core::Interface::vtable(this).EnrollmentValidTo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    pub fn Status(&self) -> ::windows::core::Result<EnterpriseStatus> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<EnterpriseStatus>();
+            (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+}
+impl ::core::cmp::PartialEq for Enterprise {
+    fn eq(&self, other: &Self) -> bool {
+        self.0 == other.0
+    }
+}
+impl ::core::cmp::Eq for Enterprise {}
+impl ::core::fmt::Debug for Enterprise {
+    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+        f.debug_tuple("Enterprise").field(&self.0).finish()
+    }
+}
+impl ::windows::core::RuntimeType for Enterprise {
+    const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Phone.Management.Deployment.Enterprise;{96592f8d-856c-4426-a947-b06307718078})");
+}
+impl ::core::clone::Clone for Enterprise {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::Interface for Enterprise {
+    type Vtable = IEnterprise_Vtbl;
+}
+unsafe impl ::windows::core::ComInterface for Enterprise {
+    const IID: ::windows::core::GUID = <IEnterprise as ::windows::core::ComInterface>::IID;
+}
+impl ::windows::core::RuntimeName for Enterprise {
+    const NAME: &'static str = "Windows.Phone.Management.Deployment.Enterprise";
+}
+::windows::imp::interface_hierarchy!(Enterprise, ::windows::core::IUnknown, ::windows::core::IInspectable);
+unsafe impl ::core::marker::Send for Enterprise {}
+unsafe impl ::core::marker::Sync for Enterprise {}
+#[doc = "*Required features: `\"Phone_Management_Deployment\"`*"]
+pub struct EnterpriseEnrollmentManager;
+impl EnterpriseEnrollmentManager {
+    #[doc = "*Required features: `\"Foundation_Collections\"`*"]
+    #[cfg(feature = "Foundation_Collections")]
+    pub fn EnrolledEnterprises() -> ::windows::core::Result<super::super::super::Foundation::Collections::IVectorView<Enterprise>> {
+        Self::IEnterpriseEnrollmentManager(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::Collections::IVectorView<Enterprise>>();
+            (::windows::core::Interface::vtable(this).EnrolledEnterprises)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        })
+    }
+    pub fn CurrentEnterprise() -> ::windows::core::Result<Enterprise> {
+        Self::IEnterpriseEnrollmentManager(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<Enterprise>();
+            (::windows::core::Interface::vtable(this).CurrentEnterprise)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"Foundation\"`*"]
+    #[cfg(feature = "Foundation")]
+    pub fn ValidateEnterprisesAsync() -> ::windows::core::Result<super::super::super::Foundation::IAsyncAction> {
+        Self::IEnterpriseEnrollmentManager(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncAction>();
+            (::windows::core::Interface::vtable(this).ValidateEnterprisesAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"Foundation\"`*"]
+    #[cfg(feature = "Foundation")]
+    pub fn RequestEnrollmentAsync(enrollmenttoken: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<EnterpriseEnrollmentResult>> {
+        Self::IEnterpriseEnrollmentManager(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncOperation<EnterpriseEnrollmentResult>>();
+            (::windows::core::Interface::vtable(this).RequestEnrollmentAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(enrollmenttoken), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"Foundation\"`*"]
+    #[cfg(feature = "Foundation")]
+    pub fn RequestUnenrollmentAsync(enterprise: &Enterprise) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<bool>> {
+        Self::IEnterpriseEnrollmentManager(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncOperation<bool>>();
+            (::windows::core::Interface::vtable(this).RequestUnenrollmentAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(enterprise), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc(hidden)]
+    pub fn IEnterpriseEnrollmentManager<R, F: FnOnce(&IEnterpriseEnrollmentManager) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
+        static SHARED: ::windows::imp::FactoryCache<EnterpriseEnrollmentManager, IEnterpriseEnrollmentManager> = ::windows::imp::FactoryCache::new();
+        SHARED.call(callback)
+    }
+}
+impl ::windows::core::RuntimeName for EnterpriseEnrollmentManager {
+    const NAME: &'static str = "Windows.Phone.Management.Deployment.EnterpriseEnrollmentManager";
+}
+#[doc = "*Required features: `\"Phone_Management_Deployment\"`*"]
+#[repr(transparent)]
+pub struct EnterpriseEnrollmentResult(::windows::core::IUnknown);
+impl EnterpriseEnrollmentResult {
+    pub fn EnrolledEnterprise(&self) -> ::windows::core::Result<Enterprise> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<Enterprise>();
+            (::windows::core::Interface::vtable(this).EnrolledEnterprise)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    pub fn Status(&self) -> ::windows::core::Result<EnterpriseEnrollmentStatus> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<EnterpriseEnrollmentStatus>();
+            (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+}
+impl ::core::cmp::PartialEq for EnterpriseEnrollmentResult {
+    fn eq(&self, other: &Self) -> bool {
+        self.0 == other.0
+    }
+}
+impl ::core::cmp::Eq for EnterpriseEnrollmentResult {}
+impl ::core::fmt::Debug for EnterpriseEnrollmentResult {
+    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+        f.debug_tuple("EnterpriseEnrollmentResult").field(&self.0).finish()
+    }
+}
+impl ::windows::core::RuntimeType for EnterpriseEnrollmentResult {
+    const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Phone.Management.Deployment.EnterpriseEnrollmentResult;{9ff71ce6-90db-4342-b326-1729aa91301c})");
+}
+impl ::core::clone::Clone for EnterpriseEnrollmentResult {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::Interface for EnterpriseEnrollmentResult {
+    type Vtable = IEnterpriseEnrollmentResult_Vtbl;
+}
+unsafe impl ::windows::core::ComInterface for EnterpriseEnrollmentResult {
+    const IID: ::windows::core::GUID = <IEnterpriseEnrollmentResult as ::windows::core::ComInterface>::IID;
+}
+impl ::windows::core::RuntimeName for EnterpriseEnrollmentResult {
+    const NAME: &'static str = "Windows.Phone.Management.Deployment.EnterpriseEnrollmentResult";
+}
+::windows::imp::interface_hierarchy!(EnterpriseEnrollmentResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
+#[doc = "*Required features: `\"Phone_Management_Deployment\"`*"]
+pub struct InstallationManager;
+impl InstallationManager {
+    #[doc = "*Required features: `\"Foundation\"`*"]
+    #[cfg(feature = "Foundation")]
+    pub fn AddPackageAsync(title: &::windows::core::HSTRING, sourcelocation: &super::super::super::Foundation::Uri) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>> {
+        Self::IInstallationManagerStatics(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>>();
+            (::windows::core::Interface::vtable(this).AddPackageAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(sourcelocation), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"Foundation\"`*"]
+    #[cfg(feature = "Foundation")]
+    pub fn AddPackagePreloadedAsync(title: &::windows::core::HSTRING, sourcelocation: &super::super::super::Foundation::Uri, instanceid: &::windows::core::HSTRING, offerid: &::windows::core::HSTRING, license: &super::super::super::Foundation::Uri) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>> {
+        Self::IInstallationManagerStatics(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>>();
+            (::windows::core::Interface::vtable(this).AddPackagePreloadedAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(sourcelocation), ::core::mem::transmute_copy(instanceid), ::core::mem::transmute_copy(offerid), ::core::mem::transmute_copy(license), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"Foundation_Collections\"`*"]
+    #[cfg(feature = "Foundation_Collections")]
+    pub fn GetPendingPackageInstalls() -> ::windows::core::Result<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>>> {
+        Self::IInstallationManagerStatics(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>>>();
+            (::windows::core::Interface::vtable(this).GetPendingPackageInstalls)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"ApplicationModel\"`, `\"Foundation_Collections\"`*"]
+    #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))]
+    pub fn FindPackagesForCurrentPublisher() -> ::windows::core::Result<super::super::super::Foundation::Collections::IIterable<super::super::super::ApplicationModel::Package>> {
+        Self::IInstallationManagerStatics(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::Collections::IIterable<super::super::super::ApplicationModel::Package>>();
+            (::windows::core::Interface::vtable(this).FindPackagesForCurrentPublisher)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"ApplicationModel\"`, `\"Foundation_Collections\"`*"]
+    #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))]
+    pub fn FindPackages() -> ::windows::core::Result<super::super::super::Foundation::Collections::IIterable<super::super::super::ApplicationModel::Package>> {
+        Self::IInstallationManagerStatics(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::Collections::IIterable<super::super::super::ApplicationModel::Package>>();
+            (::windows::core::Interface::vtable(this).FindPackages)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"Foundation\"`, `\"Management_Deployment\"`*"]
+    #[cfg(all(feature = "Foundation", feature = "Management_Deployment"))]
+    pub fn RemovePackageAsync(packagefullname: &::windows::core::HSTRING, removaloptions: super::super::super::Management::Deployment::RemovalOptions) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>> {
+        Self::IInstallationManagerStatics2(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>>();
+            (::windows::core::Interface::vtable(this).RemovePackageAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(packagefullname), removaloptions, &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Management_Deployment\"`*"]
+    #[cfg(all(feature = "Foundation_Collections", feature = "Management_Deployment"))]
+    pub fn RegisterPackageAsync<P0>(manifesturi: &super::super::super::Foundation::Uri, dependencypackageuris: P0, deploymentoptions: super::super::super::Management::Deployment::DeploymentOptions) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>>
+    where
+        P0: ::windows::core::TryIntoParam<super::super::super::Foundation::Collections::IIterable<super::super::super::Foundation::Uri>>,
+    {
+        Self::IInstallationManagerStatics2(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncOperationWithProgress<PackageInstallResult, u32>>();
+            (::windows::core::Interface::vtable(this).RegisterPackageAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(manifesturi), dependencypackageuris.try_into_param()?.abi(), deploymentoptions, &mut result__).from_abi(result__)
+        })
+    }
+    #[doc = "*Required features: `\"ApplicationModel\"`, `\"Foundation_Collections\"`*"]
+    #[cfg(all(feature = "ApplicationModel", feature = "Foundation_Collections"))]
+    pub fn FindPackagesByNamePublisher(packagename: &::windows::core::HSTRING, packagepublisher: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::Foundation::Collections::IIterable<super::super::super::ApplicationModel::Package>> {
+        Self::IInstallationManagerStatics2(|this| unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::Collections::IIterable<super::super::super::ApplicationModel::Package>>();
+            (::windows::core::Interface::vtable(this).FindPackagesByNamePublisher)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(packagename), ::core::mem::transmute_copy(packagepublisher), &mut result__).from_abi(result__)
+        })
+    }
+    #[doc(hidden)]
+    pub fn IInstallationManagerStatics<R, F: FnOnce(&IInstallationManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
+        static SHARED: ::windows::imp::FactoryCache<InstallationManager, IInstallationManagerStatics> = ::windows::imp::FactoryCache::new();
+        SHARED.call(callback)
+    }
+    #[doc(hidden)]
+    pub fn IInstallationManagerStatics2<R, F: FnOnce(&IInstallationManagerStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
+        static SHARED: ::windows::imp::FactoryCache<InstallationManager, IInstallationManagerStatics2> = ::windows::imp::FactoryCache::new();
+        SHARED.call(callback)
+    }
+}
+impl ::windows::core::RuntimeName for InstallationManager {
+    const NAME: &'static str = "Windows.Phone.Management.Deployment.InstallationManager";
+}
+#[doc = "*Required features: `\"Phone_Management_Deployment\"`*"]
+#[repr(transparent)]
+pub struct PackageInstallResult(::windows::core::IUnknown);
+impl PackageInstallResult {
+    pub fn ProductId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
+            (::windows::core::Interface::vtable(this).ProductId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    #[doc = "*Required features: `\"Management_Deployment\"`*"]
+    #[cfg(feature = "Management_Deployment")]
+    pub fn InstallState(&self) -> ::windows::core::Result<super::super::super::Management::Deployment::PackageInstallState> {
+        let this = self;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<super::super::super::Management::Deployment::PackageInstallState>();
+            (::windows::core::Interface::vtable(this).InstallState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+    pub fn ErrorText(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
+        let this = &::windows::core::ComInterface::cast::<IPackageInstallResult2>(self)?;
+        unsafe {
+            let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
+            (::windows::core::Interface::vtable(this).ErrorText)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
+        }
+    }
+}
+impl ::core::cmp::PartialEq for PackageInstallResult {
+    fn eq(&self, other: &Self) -> bool {
+        self.0 == other.0
+    }
+}
+impl ::core::cmp::Eq for PackageInstallResult {}
+impl ::core::fmt::Debug for PackageInstallResult {
+    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+        f.debug_tuple("PackageInstallResult").field(&self.0).finish()
+    }
+}
+impl ::windows::core::RuntimeType for PackageInstallResult {
+    const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Phone.Management.Deployment.PackageInstallResult;{33e8eed5-0f7e-4473-967c-7d6e1c0e7de1})");
+}
+impl ::core::clone::Clone for PackageInstallResult {
+    fn clone(&self) -> Self {
+        Self(self.0.clone())
+    }
+}
+unsafe impl ::windows::core::Interface for PackageInstallResult {
+    type Vtable = IPackageInstallResult_Vtbl;
+}
+unsafe impl ::windows::core::ComInterface for PackageInstallResult {
+    const IID: ::windows::core::GUID = <IPackageInstallResult as ::windows::core::ComInterface>::IID;
+}
+impl ::windows::core::RuntimeName for PackageInstallResult {
+    const NAME: &'static str = "Windows.Phone.Management.Deployment.PackageInstallResult";
+}
+::windows::imp::interface_hierarchy!(PackageInstallResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
+#[doc = "*Required features: `\"Phone_Management_Deployment\"`*"]
+#[repr(transparent)]
+#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
+pub struct EnterpriseEnrollmentStatus(pub i32);
+impl EnterpriseEnrollmentStatus {
+    pub const Success: Self = Self(0i32);
+    pub const CancelledByUser: Self = Self(1i32);
+    pub const UnknownFailure: Self = Self(2i32);
+}
+impl ::core::marker::Copy for EnterpriseEnrollmentStatus {}
+impl ::core::clone::Clone for EnterpriseEnrollmentStatus {
+    fn clone(&self) -> Self {
+        *self
+    }
+}
+impl ::core::default::Default for EnterpriseEnrollmentStatus {
+    fn default() -> Self {
+        Self(0)
+    }
+}
+impl ::windows::core::TypeKind for EnterpriseEnrollmentStatus {
+    type TypeKind = ::windows::core::CopyType;
+}
+impl ::core::fmt::Debug for EnterpriseEnrollmentStatus {
+    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+        f.debug_tuple("EnterpriseEnrollmentStatus").field(&self.0).finish()
+    }
+}
+impl ::windows::core::RuntimeType for EnterpriseEnrollmentStatus {
+    const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Phone.Management.Deployment.EnterpriseEnrollmentStatus;i4)");
+}
+#[doc = "*Required features: `\"Phone_Management_Deployment\"`*"]
+#[repr(transparent)]
+#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
+pub struct EnterpriseStatus(pub i32);
+impl EnterpriseStatus {
+    pub const Enrolled: Self = Self(0i32);
+    pub const Disabled: Self = Self(1i32);
+    pub const Revoked: Self = Self(2i32);
+    pub const Expired: Self = Self(3i32);
+}
+impl ::core::marker::Copy for EnterpriseStatus {}
+impl ::core::clone::Clone for EnterpriseStatus {
+    fn clone(&self) -> Self {
+        *self
+    }
+}
+impl ::core::default::Default for EnterpriseStatus {
+    fn default() -> Self {
+        Self(0)
+    }
+}
+impl ::windows::core::TypeKind for EnterpriseStatus {
+    type TypeKind = ::windows::core::CopyType;
+}
+impl ::core::fmt::Debug for EnterpriseStatus {
+    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+        f.debug_tuple("EnterpriseStatus").field(&self.0).finish()
+    }
+}
+impl ::windows::core::RuntimeType for EnterpriseStatus {
+    const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Phone.Management.Deployment.EnterpriseStatus;i4)");
+}
+#[cfg(feature = "implement")]
+::core::include!("impl.rs");