// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_System_RemoteDesktop_Provider_0_H #define WINRT_Windows_System_RemoteDesktop_Provider_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; struct Uri; } WINRT_EXPORT namespace winrt::Windows::UI { struct WindowId; } WINRT_EXPORT namespace winrt::Windows::System::RemoteDesktop::Provider { enum class RemoteDesktopConnectionStatus : int32_t { Connecting = 0, Connected = 1, UserInputNeeded = 2, Disconnected = 3, }; enum class RemoteDesktopLocalAction : int32_t { ShowBluetoothSettings = 0, ShowSystemSoundSettings = 1, ShowSystemDisplaySettings = 2, ShowSystemAccountSettings = 3, ShowLocalSettings = 4, }; struct IPerformLocalActionRequestedEventArgs; struct IRemoteDesktopConnectionInfo; struct IRemoteDesktopConnectionInfo2; struct IRemoteDesktopConnectionInfoStatics; struct IRemoteDesktopConnectionRemoteInfo; struct IRemoteDesktopConnectionRemoteInfoStatics; struct IRemoteDesktopInfo; struct IRemoteDesktopInfoFactory; struct IRemoteDesktopRegistrarStatics; struct PerformLocalActionRequestedEventArgs; struct RemoteDesktopConnectionInfo; struct RemoteDesktopConnectionRemoteInfo; struct RemoteDesktopInfo; struct RemoteDesktopRegistrar; } 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 = interface_category; }; 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 = 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 = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.PerformLocalActionRequestedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.RemoteDesktopConnectionInfo"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.RemoteDesktopConnectionRemoteInfo"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.RemoteDesktopInfo"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.RemoteDesktopRegistrar"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.RemoteDesktopConnectionStatus"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.RemoteDesktopLocalAction"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IPerformLocalActionRequestedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopConnectionInfo"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopConnectionInfo2"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopConnectionInfoStatics"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopConnectionRemoteInfo"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopConnectionRemoteInfoStatics"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopInfo"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopInfoFactory"; template <> inline constexpr auto& name_v = L"Windows.System.RemoteDesktop.Provider.IRemoteDesktopRegistrarStatics"; template <> inline constexpr guid guid_v{ 0x59359F4F,0x0862,0x53A3,{ 0xA3,0xB3,0xC9,0x32,0xFB,0x71,0x8C,0xDC } }; // 59359F4F-0862-53A3-A3B3-C932FB718CDC template <> inline constexpr guid guid_v{ 0x68BD69D6,0x6DEA,0x543B,{ 0xB7,0x37,0xF3,0x47,0x91,0x9F,0x50,0x93 } }; // 68BD69D6-6DEA-543B-B737-F347919F5093 template <> inline constexpr guid guid_v{ 0x871C0B26,0x23BF,0x5D3C,{ 0xBC,0x35,0xA8,0x5C,0x40,0x5E,0x25,0xE6 } }; // 871C0B26-23BF-5D3C-BC35-A85C405E25E6 template <> inline constexpr guid guid_v{ 0x4A7DC5A1,0x3368,0x5A75,{ 0xBB,0x78,0x80,0x7D,0xF7,0xEB,0xC4,0x39 } }; // 4A7DC5A1-3368-5A75-BB78-807DF7EBC439 template <> inline constexpr guid guid_v{ 0x2A3DFA7E,0xA7AB,0x547E,{ 0x9A,0x6A,0x4C,0x56,0x5B,0xBB,0x8D,0x71 } }; // 2A3DFA7E-A7AB-547E-9A6A-4C565BBB8D71 template <> inline constexpr guid guid_v{ 0xB590E64A,0xE4C9,0x53E8,{ 0xB8,0x3D,0xA0,0xDB,0x36,0x76,0x24,0x6A } }; // B590E64A-E4C9-53E8-B83D-A0DB3676246A template <> inline constexpr guid guid_v{ 0xD185BB25,0x2F1E,0x5098,{ 0xB9,0xE0,0xF4,0x6D,0x63,0x58,0xC5,0xC4 } }; // D185BB25-2F1E-5098-B9E0-F46D6358C5C4 template <> inline constexpr guid guid_v{ 0xAD0E8D58,0xB56F,0x5A8B,{ 0xB4,0x19,0x80,0x02,0xEE,0x0C,0x5E,0xE9 } }; // AD0E8D58-B56F-5A8B-B419-8002EE0C5EE9 template <> inline constexpr guid guid_v{ 0x687C2750,0x46D9,0x5DE3,{ 0x8D,0xC3,0x84,0xA9,0x20,0x2C,0xEC,0xFB } }; // 687C2750-46D9-5DE3-8DC3-84A9202CECFB template <> struct default_interface{ using type = winrt::Windows::System::RemoteDesktop::Provider::IPerformLocalActionRequestedEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::System::RemoteDesktop::Provider::IRemoteDesktopConnectionInfo; }; template <> struct default_interface{ using type = winrt::Windows::System::RemoteDesktop::Provider::IRemoteDesktopConnectionRemoteInfo; }; template <> struct default_interface{ using type = winrt::Windows::System::RemoteDesktop::Provider::IRemoteDesktopInfo; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Action(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall SetConnectionStatus(int32_t) noexcept = 0; virtual int32_t __stdcall SwitchToLocalSession() noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall PerformLocalActionFromRemote(int32_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetForLaunchUri(void*, struct struct_Windows_UI_WindowId, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ReportSwitched() noexcept = 0; virtual int32_t __stdcall add_SwitchToLocalSessionRequested(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_SwitchToLocalSessionRequested(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_PerformLocalActionRequested(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PerformLocalActionRequested(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall IsSwitchSupported(bool*) noexcept = 0; virtual int32_t __stdcall GetForLaunchUri(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DisplayName(void**) noexcept = 0; virtual int32_t __stdcall get_Id(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateInstance(void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DesktopInfos(void**) noexcept = 0; virtual int32_t __stdcall IsSwitchToLocalSessionEnabled(bool*) noexcept = 0; }; }; template struct consume_Windows_System_RemoteDesktop_Provider_IPerformLocalActionRequestedEventArgs { [[nodiscard]] auto Action() const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IPerformLocalActionRequestedEventArgs; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionInfo { auto SetConnectionStatus(winrt::Windows::System::RemoteDesktop::Provider::RemoteDesktopConnectionStatus const& value) const; auto SwitchToLocalSession() const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionInfo; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionInfo2 { auto PerformLocalActionFromRemote(winrt::Windows::System::RemoteDesktop::Provider::RemoteDesktopLocalAction const& action) const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionInfo2; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionInfoStatics { auto GetForLaunchUri(winrt::Windows::Foundation::Uri const& launchUri, winrt::Windows::UI::WindowId const& windowId) const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionInfoStatics; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionRemoteInfo { auto ReportSwitched() const; auto SwitchToLocalSessionRequested(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using SwitchToLocalSessionRequested_revoker = impl::event_revoker::remove_SwitchToLocalSessionRequested>; [[nodiscard]] auto SwitchToLocalSessionRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto SwitchToLocalSessionRequested(winrt::event_token const& token) const noexcept; auto PerformLocalActionRequested(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using PerformLocalActionRequested_revoker = impl::event_revoker::remove_PerformLocalActionRequested>; [[nodiscard]] auto PerformLocalActionRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto PerformLocalActionRequested(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionRemoteInfo; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionRemoteInfoStatics { auto IsSwitchSupported() const; auto GetForLaunchUri(winrt::Windows::Foundation::Uri const& launchUri) const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopConnectionRemoteInfoStatics; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopInfo { [[nodiscard]] auto DisplayName() const; [[nodiscard]] auto Id() const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopInfo; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopInfoFactory { auto CreateInstance(param::hstring const& id, param::hstring const& displayName) const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopInfoFactory; }; template struct consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopRegistrarStatics { [[nodiscard]] auto DesktopInfos() const; auto IsSwitchToLocalSessionEnabled() const; }; template <> struct consume { template using type = consume_Windows_System_RemoteDesktop_Provider_IRemoteDesktopRegistrarStatics; }; } #endif