#[cfg(feature = "Management_Core")] pub mod Core; #[cfg(feature = "Management_Deployment")] pub mod Deployment; #[cfg(feature = "Management_Policies")] pub mod Policies; #[cfg(feature = "Management_Update")] pub mod Update; #[cfg(feature = "Management_Workplace")] pub mod Workplace; windows_core::imp::define_interface!(IMdmAlert, IMdmAlert_Vtbl, 0xb0fbc327_28c1_4b52_a548_c5807caf70b6); impl windows_core::RuntimeType for IMdmAlert { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_interface::(); } #[repr(C)] pub struct IMdmAlert_Vtbl { pub base__: windows_core::IInspectable_Vtbl, pub Data: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::mem::MaybeUninit) -> windows_core::HRESULT, pub SetData: unsafe extern "system" fn(*mut core::ffi::c_void, core::mem::MaybeUninit) -> windows_core::HRESULT, pub Format: unsafe extern "system" fn(*mut core::ffi::c_void, *mut MdmAlertDataType) -> windows_core::HRESULT, pub SetFormat: unsafe extern "system" fn(*mut core::ffi::c_void, MdmAlertDataType) -> windows_core::HRESULT, pub Mark: unsafe extern "system" fn(*mut core::ffi::c_void, *mut MdmAlertMark) -> windows_core::HRESULT, pub SetMark: unsafe extern "system" fn(*mut core::ffi::c_void, MdmAlertMark) -> windows_core::HRESULT, pub Source: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::mem::MaybeUninit) -> windows_core::HRESULT, pub SetSource: unsafe extern "system" fn(*mut core::ffi::c_void, core::mem::MaybeUninit) -> windows_core::HRESULT, pub Status: unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT, pub Target: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::mem::MaybeUninit) -> windows_core::HRESULT, pub SetTarget: unsafe extern "system" fn(*mut core::ffi::c_void, core::mem::MaybeUninit) -> windows_core::HRESULT, pub Type: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::mem::MaybeUninit) -> windows_core::HRESULT, pub SetType: unsafe extern "system" fn(*mut core::ffi::c_void, core::mem::MaybeUninit) -> windows_core::HRESULT, } windows_core::imp::define_interface!(IMdmSession, IMdmSession_Vtbl, 0xfe89314c_8f64_4797_a9d7_9d88f86ae166); impl windows_core::RuntimeType for IMdmSession { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_interface::(); } #[repr(C)] pub struct IMdmSession_Vtbl { pub base__: windows_core::IInspectable_Vtbl, #[cfg(feature = "Foundation_Collections")] pub Alerts: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void) -> windows_core::HRESULT, #[cfg(not(feature = "Foundation_Collections"))] Alerts: usize, pub ExtendedError: unsafe extern "system" fn(*mut core::ffi::c_void, *mut windows_core::HRESULT) -> windows_core::HRESULT, pub Id: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::mem::MaybeUninit) -> windows_core::HRESULT, pub State: unsafe extern "system" fn(*mut core::ffi::c_void, *mut MdmSessionState) -> windows_core::HRESULT, pub AttachAsync: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void) -> windows_core::HRESULT, pub Delete: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT, pub StartAsync: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void) -> windows_core::HRESULT, #[cfg(feature = "Foundation_Collections")] pub StartWithAlertsAsync: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, *mut *mut core::ffi::c_void) -> windows_core::HRESULT, #[cfg(not(feature = "Foundation_Collections"))] StartWithAlertsAsync: usize, } windows_core::imp::define_interface!(IMdmSessionManagerStatics, IMdmSessionManagerStatics_Vtbl, 0xcf4ad959_f745_4b79_9b5c_de0bf8efe44b); impl windows_core::RuntimeType for IMdmSessionManagerStatics { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_interface::(); } #[repr(C)] pub struct IMdmSessionManagerStatics_Vtbl { pub base__: windows_core::IInspectable_Vtbl, #[cfg(feature = "Foundation_Collections")] pub SessionIds: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void) -> windows_core::HRESULT, #[cfg(not(feature = "Foundation_Collections"))] SessionIds: usize, pub TryCreateSession: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void) -> windows_core::HRESULT, pub DeleteSessionById: unsafe extern "system" fn(*mut core::ffi::c_void, core::mem::MaybeUninit) -> windows_core::HRESULT, pub GetSessionById: unsafe extern "system" fn(*mut core::ffi::c_void, core::mem::MaybeUninit, *mut *mut core::ffi::c_void) -> windows_core::HRESULT, } #[repr(transparent)] #[derive(PartialEq, Eq, core::fmt::Debug, Clone)] pub struct MdmAlert(windows_core::IUnknown); windows_core::imp::interface_hierarchy!(MdmAlert, windows_core::IUnknown, windows_core::IInspectable); impl MdmAlert { pub fn new() -> windows_core::Result { Self::IActivationFactory(|f| f.ActivateInstance::()) } fn IActivationFactory windows_core::Result>(callback: F) -> windows_core::Result { static SHARED: windows_core::imp::FactoryCache = windows_core::imp::FactoryCache::new(); SHARED.call(callback) } pub fn Data(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Data)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } pub fn SetData(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> { let this = self; unsafe { (windows_core::Interface::vtable(this).SetData)(windows_core::Interface::as_raw(this), core::mem::transmute_copy(value)).ok() } } pub fn Format(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Format)(windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetFormat(&self, value: MdmAlertDataType) -> windows_core::Result<()> { let this = self; unsafe { (windows_core::Interface::vtable(this).SetFormat)(windows_core::Interface::as_raw(this), value).ok() } } pub fn Mark(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Mark)(windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn SetMark(&self, value: MdmAlertMark) -> windows_core::Result<()> { let this = self; unsafe { (windows_core::Interface::vtable(this).SetMark)(windows_core::Interface::as_raw(this), value).ok() } } pub fn Source(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Source)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } pub fn SetSource(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> { let this = self; unsafe { (windows_core::Interface::vtable(this).SetSource)(windows_core::Interface::as_raw(this), core::mem::transmute_copy(value)).ok() } } pub fn Status(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Status)(windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Target(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Target)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } pub fn SetTarget(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> { let this = self; unsafe { (windows_core::Interface::vtable(this).SetTarget)(windows_core::Interface::as_raw(this), core::mem::transmute_copy(value)).ok() } } pub fn Type(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Type)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } pub fn SetType(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> { let this = self; unsafe { (windows_core::Interface::vtable(this).SetType)(windows_core::Interface::as_raw(this), core::mem::transmute_copy(value)).ok() } } } impl windows_core::RuntimeType for MdmAlert { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::(); } unsafe impl windows_core::Interface for MdmAlert { type Vtable = IMdmAlert_Vtbl; const IID: windows_core::GUID = ::IID; } impl windows_core::RuntimeName for MdmAlert { const NAME: &'static str = "Windows.Management.MdmAlert"; } #[repr(transparent)] #[derive(PartialEq, Eq, core::fmt::Debug, Clone)] pub struct MdmSession(windows_core::IUnknown); windows_core::imp::interface_hierarchy!(MdmSession, windows_core::IUnknown, windows_core::IInspectable); impl MdmSession { #[cfg(feature = "Foundation_Collections")] pub fn Alerts(&self) -> windows_core::Result> { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Alerts)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } pub fn ExtendedError(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).ExtendedError)(windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn Id(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).Id)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } pub fn State(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).State)(windows_core::Interface::as_raw(this), &mut result__).map(|| result__) } } pub fn AttachAsync(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).AttachAsync)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } pub fn Delete(&self) -> windows_core::Result<()> { let this = self; unsafe { (windows_core::Interface::vtable(this).Delete)(windows_core::Interface::as_raw(this)).ok() } } pub fn StartAsync(&self) -> windows_core::Result { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).StartAsync)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } #[cfg(feature = "Foundation_Collections")] pub fn StartWithAlertsAsync(&self, alerts: P0) -> windows_core::Result where P0: windows_core::Param>, { let this = self; unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).StartWithAlertsAsync)(windows_core::Interface::as_raw(this), alerts.param().abi(), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) } } } impl windows_core::RuntimeType for MdmSession { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::(); } unsafe impl windows_core::Interface for MdmSession { type Vtable = IMdmSession_Vtbl; const IID: windows_core::GUID = ::IID; } impl windows_core::RuntimeName for MdmSession { const NAME: &'static str = "Windows.Management.MdmSession"; } pub struct MdmSessionManager; impl MdmSessionManager { #[cfg(feature = "Foundation_Collections")] pub fn SessionIds() -> windows_core::Result> { Self::IMdmSessionManagerStatics(|this| unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).SessionIds)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) }) } pub fn TryCreateSession() -> windows_core::Result { Self::IMdmSessionManagerStatics(|this| unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).TryCreateSession)(windows_core::Interface::as_raw(this), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) }) } pub fn DeleteSessionById(sessionid: &windows_core::HSTRING) -> windows_core::Result<()> { Self::IMdmSessionManagerStatics(|this| unsafe { (windows_core::Interface::vtable(this).DeleteSessionById)(windows_core::Interface::as_raw(this), core::mem::transmute_copy(sessionid)).ok() }) } pub fn GetSessionById(sessionid: &windows_core::HSTRING) -> windows_core::Result { Self::IMdmSessionManagerStatics(|this| unsafe { let mut result__ = core::mem::zeroed(); (windows_core::Interface::vtable(this).GetSessionById)(windows_core::Interface::as_raw(this), core::mem::transmute_copy(sessionid), &mut result__).and_then(|| windows_core::Type::from_abi(result__)) }) } #[doc(hidden)] pub fn IMdmSessionManagerStatics windows_core::Result>(callback: F) -> windows_core::Result { static SHARED: windows_core::imp::FactoryCache = windows_core::imp::FactoryCache::new(); SHARED.call(callback) } } impl windows_core::RuntimeName for MdmSessionManager { const NAME: &'static str = "Windows.Management.MdmSessionManager"; } #[repr(transparent)] #[derive(PartialEq, Eq, Copy, Clone, Default)] pub struct MdmAlertDataType(pub i32); impl MdmAlertDataType { pub const String: Self = Self(0i32); pub const Base64: Self = Self(1i32); pub const Boolean: Self = Self(2i32); pub const Integer: Self = Self(3i32); } impl windows_core::TypeKind for MdmAlertDataType { type TypeKind = windows_core::CopyType; } impl core::fmt::Debug for MdmAlertDataType { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { f.debug_tuple("MdmAlertDataType").field(&self.0).finish() } } impl windows_core::RuntimeType for MdmAlertDataType { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Management.MdmAlertDataType;i4)"); } #[repr(transparent)] #[derive(PartialEq, Eq, Copy, Clone, Default)] pub struct MdmAlertMark(pub i32); impl MdmAlertMark { pub const None: Self = Self(0i32); pub const Fatal: Self = Self(1i32); pub const Critical: Self = Self(2i32); pub const Warning: Self = Self(3i32); pub const Informational: Self = Self(4i32); } impl windows_core::TypeKind for MdmAlertMark { type TypeKind = windows_core::CopyType; } impl core::fmt::Debug for MdmAlertMark { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { f.debug_tuple("MdmAlertMark").field(&self.0).finish() } } impl windows_core::RuntimeType for MdmAlertMark { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Management.MdmAlertMark;i4)"); } #[repr(transparent)] #[derive(PartialEq, Eq, Copy, Clone, Default)] pub struct MdmSessionState(pub i32); impl MdmSessionState { pub const NotStarted: Self = Self(0i32); pub const Starting: Self = Self(1i32); pub const Connecting: Self = Self(2i32); pub const Communicating: Self = Self(3i32); pub const AlertStatusAvailable: Self = Self(4i32); pub const Retrying: Self = Self(5i32); pub const Completed: Self = Self(6i32); } impl windows_core::TypeKind for MdmSessionState { type TypeKind = windows_core::CopyType; } impl core::fmt::Debug for MdmSessionState { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { f.debug_tuple("MdmSessionState").field(&self.0).finish() } } impl windows_core::RuntimeType for MdmSessionState { const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.Management.MdmSessionState;i4)"); }