--- /dev/null
+#[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");