// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Management_0_H #define WINRT_Windows_Management_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct HResult; struct IAsyncAction; } WINRT_EXPORT namespace winrt::Windows::Foundation::Collections { template struct WINRT_IMPL_EMPTY_BASES IIterable; } WINRT_EXPORT namespace winrt::Windows::Management { enum class MdmAlertDataType : int32_t { String = 0, Base64 = 1, Boolean = 2, Integer = 3, }; enum class MdmAlertMark : int32_t { None = 0, Fatal = 1, Critical = 2, Warning = 3, Informational = 4, }; enum class MdmSessionState : int32_t { NotStarted = 0, Starting = 1, Connecting = 2, Communicating = 3, AlertStatusAvailable = 4, Retrying = 5, Completed = 6, }; struct IMdmAlert; struct IMdmSession; struct IMdmSessionManagerStatics; struct MdmAlert; struct MdmSession; struct MdmSessionManager; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.Management.MdmAlert"; template <> inline constexpr auto& name_v = L"Windows.Management.MdmSession"; template <> inline constexpr auto& name_v = L"Windows.Management.MdmSessionManager"; template <> inline constexpr auto& name_v = L"Windows.Management.MdmAlertDataType"; template <> inline constexpr auto& name_v = L"Windows.Management.MdmAlertMark"; template <> inline constexpr auto& name_v = L"Windows.Management.MdmSessionState"; template <> inline constexpr auto& name_v = L"Windows.Management.IMdmAlert"; template <> inline constexpr auto& name_v = L"Windows.Management.IMdmSession"; template <> inline constexpr auto& name_v = L"Windows.Management.IMdmSessionManagerStatics"; template <> inline constexpr guid guid_v{ 0xB0FBC327,0x28C1,0x4B52,{ 0xA5,0x48,0xC5,0x80,0x7C,0xAF,0x70,0xB6 } }; // B0FBC327-28C1-4B52-A548-C5807CAF70B6 template <> inline constexpr guid guid_v{ 0xFE89314C,0x8F64,0x4797,{ 0xA9,0xD7,0x9D,0x88,0xF8,0x6A,0xE1,0x66 } }; // FE89314C-8F64-4797-A9D7-9D88F86AE166 template <> inline constexpr guid guid_v{ 0xCF4AD959,0xF745,0x4B79,{ 0x9B,0x5C,0xDE,0x0B,0xF8,0xEF,0xE4,0x4B } }; // CF4AD959-F745-4B79-9B5C-DE0BF8EFE44B template <> struct default_interface{ using type = winrt::Windows::Management::IMdmAlert; }; template <> struct default_interface{ using type = winrt::Windows::Management::IMdmSession; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Data(void**) noexcept = 0; virtual int32_t __stdcall put_Data(void*) noexcept = 0; virtual int32_t __stdcall get_Format(int32_t*) noexcept = 0; virtual int32_t __stdcall put_Format(int32_t) noexcept = 0; virtual int32_t __stdcall get_Mark(int32_t*) noexcept = 0; virtual int32_t __stdcall put_Mark(int32_t) noexcept = 0; virtual int32_t __stdcall get_Source(void**) noexcept = 0; virtual int32_t __stdcall put_Source(void*) noexcept = 0; virtual int32_t __stdcall get_Status(uint32_t*) noexcept = 0; virtual int32_t __stdcall get_Target(void**) noexcept = 0; virtual int32_t __stdcall put_Target(void*) noexcept = 0; virtual int32_t __stdcall get_Type(void**) noexcept = 0; virtual int32_t __stdcall put_Type(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Alerts(void**) noexcept = 0; virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; virtual int32_t __stdcall get_Id(void**) noexcept = 0; virtual int32_t __stdcall get_State(int32_t*) noexcept = 0; virtual int32_t __stdcall AttachAsync(void**) noexcept = 0; virtual int32_t __stdcall Delete() noexcept = 0; virtual int32_t __stdcall StartAsync(void**) noexcept = 0; virtual int32_t __stdcall StartWithAlertsAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SessionIds(void**) noexcept = 0; virtual int32_t __stdcall TryCreateSession(void**) noexcept = 0; virtual int32_t __stdcall DeleteSessionById(void*) noexcept = 0; virtual int32_t __stdcall GetSessionById(void*, void**) noexcept = 0; }; }; template struct consume_Windows_Management_IMdmAlert { [[nodiscard]] auto Data() const; auto Data(param::hstring const& value) const; [[nodiscard]] auto Format() const; auto Format(winrt::Windows::Management::MdmAlertDataType const& value) const; [[nodiscard]] auto Mark() const; auto Mark(winrt::Windows::Management::MdmAlertMark const& value) const; [[nodiscard]] auto Source() const; auto Source(param::hstring const& value) const; [[nodiscard]] auto Status() const; [[nodiscard]] auto Target() const; auto Target(param::hstring const& value) const; [[nodiscard]] auto Type() const; auto Type(param::hstring const& value) const; }; template <> struct consume { template using type = consume_Windows_Management_IMdmAlert; }; template struct consume_Windows_Management_IMdmSession { [[nodiscard]] auto Alerts() const; [[nodiscard]] auto ExtendedError() const; [[nodiscard]] auto Id() const; [[nodiscard]] auto State() const; auto AttachAsync() const; auto Delete() const; auto StartAsync() const; auto StartAsync(param::async_iterable const& alerts) const; }; template <> struct consume { template using type = consume_Windows_Management_IMdmSession; }; template struct consume_Windows_Management_IMdmSessionManagerStatics { [[nodiscard]] auto SessionIds() const; auto TryCreateSession() const; auto DeleteSessionById(param::hstring const& sessionId) const; auto GetSessionById(param::hstring const& sessionId) const; }; template <> struct consume { template using type = consume_Windows_Management_IMdmSessionManagerStatics; }; } #endif