//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.AppService.idl";
import "Windows.Networking.idl";
import "Windows.Security.Credentials.idl";
import "Windows.System.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace AppService
        {
            runtimeclass AppServiceConnection;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            runtimeclass ValueSet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        interface IClosable;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Networking
    {
        runtimeclass HostName;
    }
}
namespace Windows
{
    namespace Security
    {
        namespace Credentials
        {
            runtimeclass WebAccount;
        }
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass User;
    }
}
namespace Windows
{
    namespace System
    {
        namespace RemoteSystems
        {
            typedef enum RemoteSystemAccessStatus RemoteSystemAccessStatus;

            typedef enum RemoteSystemAuthorizationKind RemoteSystemAuthorizationKind;

            typedef enum RemoteSystemDiscoveryType RemoteSystemDiscoveryType;

            typedef enum RemoteSystemPlatform RemoteSystemPlatform;

            typedef enum RemoteSystemSessionCreationStatus RemoteSystemSessionCreationStatus;

            typedef enum RemoteSystemSessionDisconnectedReason RemoteSystemSessionDisconnectedReason;

            typedef enum RemoteSystemSessionJoinStatus RemoteSystemSessionJoinStatus;

            typedef enum RemoteSystemSessionMessageChannelReliability RemoteSystemSessionMessageChannelReliability;

            typedef enum RemoteSystemSessionParticipantWatcherStatus RemoteSystemSessionParticipantWatcherStatus;

            typedef enum RemoteSystemSessionWatcherStatus RemoteSystemSessionWatcherStatus;

            typedef enum RemoteSystemStatus RemoteSystemStatus;

            typedef enum RemoteSystemStatusType RemoteSystemStatusType;

            typedef enum RemoteSystemWatcherError RemoteSystemWatcherError;

            interface IKnownRemoteSystemCapabilitiesStatics;

            interface IRemoteSystem;

            interface IRemoteSystem2;

            interface IRemoteSystem3;

            interface IRemoteSystem4;

            interface IRemoteSystem5;

            interface IRemoteSystem6;

            interface IRemoteSystemAddedEventArgs;

            interface IRemoteSystemApp;

            interface IRemoteSystemApp2;

            interface IRemoteSystemAppRegistration;

            interface IRemoteSystemAppRegistrationStatics;

            interface IRemoteSystemAuthorizationKindFilter;

            interface IRemoteSystemAuthorizationKindFilterFactory;

            interface IRemoteSystemConnectionInfo;

            interface IRemoteSystemConnectionInfoStatics;

            interface IRemoteSystemConnectionRequest;

            interface IRemoteSystemConnectionRequest2;

            interface IRemoteSystemConnectionRequest3;

            interface IRemoteSystemConnectionRequestFactory;

            interface IRemoteSystemConnectionRequestStatics;

            interface IRemoteSystemConnectionRequestStatics2;

            interface IRemoteSystemDiscoveryTypeFilter;

            interface IRemoteSystemDiscoveryTypeFilterFactory;

            interface IRemoteSystemEnumerationCompletedEventArgs;

            interface IRemoteSystemFilter;

            interface IRemoteSystemKindFilter;

            interface IRemoteSystemKindFilterFactory;

            interface IRemoteSystemKindStatics;

            interface IRemoteSystemKindStatics2;

            interface IRemoteSystemRemovedEventArgs;

            interface IRemoteSystemSession;

            interface IRemoteSystemSessionAddedEventArgs;

            interface IRemoteSystemSessionController;

            interface IRemoteSystemSessionControllerFactory;

            interface IRemoteSystemSessionCreationResult;

            interface IRemoteSystemSessionDisconnectedEventArgs;

            interface IRemoteSystemSessionInfo;

            interface IRemoteSystemSessionInvitation;

            interface IRemoteSystemSessionInvitationListener;

            interface IRemoteSystemSessionInvitationReceivedEventArgs;

            interface IRemoteSystemSessionJoinRequest;

            interface IRemoteSystemSessionJoinRequestedEventArgs;

            interface IRemoteSystemSessionJoinResult;

            interface IRemoteSystemSessionMessageChannel;

            interface IRemoteSystemSessionMessageChannelFactory;

            interface IRemoteSystemSessionOptions;

            interface IRemoteSystemSessionParticipant;

            interface IRemoteSystemSessionParticipantAddedEventArgs;

            interface IRemoteSystemSessionParticipantRemovedEventArgs;

            interface IRemoteSystemSessionParticipantWatcher;

            interface IRemoteSystemSessionRemovedEventArgs;

            interface IRemoteSystemSessionStatics;

            interface IRemoteSystemSessionUpdatedEventArgs;

            interface IRemoteSystemSessionValueSetReceivedEventArgs;

            interface IRemoteSystemSessionWatcher;

            interface IRemoteSystemStatics;

            interface IRemoteSystemStatics2;

            interface IRemoteSystemStatics3;

            interface IRemoteSystemStatusTypeFilter;

            interface IRemoteSystemStatusTypeFilterFactory;

            interface IRemoteSystemUpdatedEventArgs;

            interface IRemoteSystemWatcher;

            interface IRemoteSystemWatcher2;

            interface IRemoteSystemWatcher3;

            interface IRemoteSystemWatcherErrorOccurredEventArgs;

            interface IRemoteSystemWebAccountFilter;

            interface IRemoteSystemWebAccountFilterFactory;

            runtimeclass KnownRemoteSystemCapabilities;

            runtimeclass RemoteSystem;

            runtimeclass RemoteSystemAddedEventArgs;

            runtimeclass RemoteSystemApp;

            runtimeclass RemoteSystemAppRegistration;

            runtimeclass RemoteSystemAuthorizationKindFilter;

            runtimeclass RemoteSystemConnectionInfo;

            runtimeclass RemoteSystemConnectionRequest;

            runtimeclass RemoteSystemDiscoveryTypeFilter;

            runtimeclass RemoteSystemEnumerationCompletedEventArgs;

            runtimeclass RemoteSystemKindFilter;

            runtimeclass RemoteSystemKinds;

            runtimeclass RemoteSystemRemovedEventArgs;

            runtimeclass RemoteSystemSession;

            runtimeclass RemoteSystemSessionAddedEventArgs;

            runtimeclass RemoteSystemSessionController;

            runtimeclass RemoteSystemSessionCreationResult;

            runtimeclass RemoteSystemSessionDisconnectedEventArgs;

            runtimeclass RemoteSystemSessionInfo;

            runtimeclass RemoteSystemSessionInvitation;

            runtimeclass RemoteSystemSessionInvitationListener;

            runtimeclass RemoteSystemSessionInvitationReceivedEventArgs;

            runtimeclass RemoteSystemSessionJoinRequest;

            runtimeclass RemoteSystemSessionJoinRequestedEventArgs;

            runtimeclass RemoteSystemSessionJoinResult;

            runtimeclass RemoteSystemSessionMessageChannel;

            runtimeclass RemoteSystemSessionOptions;

            runtimeclass RemoteSystemSessionParticipant;

            runtimeclass RemoteSystemSessionParticipantAddedEventArgs;

            runtimeclass RemoteSystemSessionParticipantRemovedEventArgs;

            runtimeclass RemoteSystemSessionParticipantWatcher;

            runtimeclass RemoteSystemSessionRemovedEventArgs;

            runtimeclass RemoteSystemSessionUpdatedEventArgs;

            runtimeclass RemoteSystemSessionValueSetReceivedEventArgs;

            runtimeclass RemoteSystemSessionWatcher;

            runtimeclass RemoteSystemStatusTypeFilter;

            runtimeclass RemoteSystemUpdatedEventArgs;

            runtimeclass RemoteSystemWatcher;

            runtimeclass RemoteSystemWatcherErrorOccurredEventArgs;

            runtimeclass RemoteSystemWebAccountFilter;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace System
    {
        namespace RemoteSystems
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.System.RemoteSystems.IRemoteSystemFilter*>;

                interface Windows.Foundation.Collections.IIterable<Windows.System.RemoteSystems.RemoteSystemApp*>;

                interface Windows.Foundation.Collections.IIterable<Windows.System.RemoteSystems.RemoteSystemSessionParticipant*>;

                interface Windows.Foundation.Collections.IIterator<Windows.System.RemoteSystems.IRemoteSystemFilter*>;

                interface Windows.Foundation.Collections.IIterator<Windows.System.RemoteSystems.RemoteSystemApp*>;

                interface Windows.Foundation.Collections.IIterator<Windows.System.RemoteSystems.RemoteSystemSessionParticipant*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.System.RemoteSystems.RemoteSystemApp*>;

                interface Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystem*>;

                interface Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystemAccessStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystemSessionCreationResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystemSessionJoinResult*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSession*, Windows.System.RemoteSystems.RemoteSystemSessionDisconnectedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionController*, Windows.System.RemoteSystems.RemoteSystemSessionJoinRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionInvitationListener*, Windows.System.RemoteSystems.RemoteSystemSessionInvitationReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel*, Windows.System.RemoteSystems.RemoteSystemSessionValueSetReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionParticipantAddedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionParticipantRemovedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionAddedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionRemovedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionUpdatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemAddedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemEnumerationCompletedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemRemovedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemUpdatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemWatcherErrorOccurredEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace System
    {
        namespace RemoteSystems
        {
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum RemoteSystemAccessStatus
            {
                Unspecified    = 0,
                Allowed        = 1,
                DeniedByUser   = 2,
                DeniedBySystem = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum RemoteSystemAuthorizationKind
            {
                SameUser   = 0,
                Anonymous  = 1,
                SameFamily = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum RemoteSystemDiscoveryType
            {
                Any               = 0,
                Proximal          = 1,
                Cloud             = 2,
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                SpatiallyProximal = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            enum RemoteSystemPlatform
            {
                Unknown = 0,
                Windows = 1,
                Android = 2,
                Ios     = 3,
                Linux   = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum RemoteSystemSessionCreationStatus
            {
                Success               = 0,
                SessionLimitsExceeded = 1,
                OperationAborted      = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum RemoteSystemSessionDisconnectedReason
            {
                SessionUnavailable  = 0,
                RemovedByController = 1,
                SessionClosed       = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum RemoteSystemSessionJoinStatus
            {
                Success               = 0,
                SessionLimitsExceeded = 1,
                OperationAborted      = 2,
                SessionUnavailable    = 3,
                RejectedByController  = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum RemoteSystemSessionMessageChannelReliability
            {
                Reliable   = 0,
                Unreliable = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum RemoteSystemSessionParticipantWatcherStatus
            {
                Created              = 0,
                Started              = 1,
                EnumerationCompleted = 2,
                Stopping             = 3,
                Stopped              = 4,
                Aborted              = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum RemoteSystemSessionWatcherStatus
            {
                Created              = 0,
                Started              = 1,
                EnumerationCompleted = 2,
                Stopping             = 3,
                Stopped              = 4,
                Aborted              = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum RemoteSystemStatus
            {
                Unavailable             = 0,
                DiscoveringAvailability = 1,
                Available               = 2,
                Unknown                 = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum RemoteSystemStatusType
            {
                Any       = 0,
                Available = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            enum RemoteSystemWatcherError
            {
                Unknown              = 0,
                InternetNotAvailable = 1,
                AuthenticationError  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.KnownRemoteSystemCapabilities)]
            [uuid(8108E380-7F8A-44E4-92CD-03B6469B94A3)]
            interface IKnownRemoteSystemCapabilitiesStatics : IInspectable
            {
                [propget] HRESULT AppService([out] [retval] HSTRING* value);
                [propget] HRESULT LaunchUri([out] [retval] HSTRING* value);
                [propget] HRESULT RemoteSession([out] [retval] HSTRING* value);
                [propget] HRESULT SpatialEntity([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(ED5838CD-1E10-4A8C-B4A6-4E5FD6F97721)]
            interface IRemoteSystem : IInspectable
            {
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT Kind([out] [retval] HSTRING* value);
                [propget] HRESULT Status([out] [retval] Windows.System.RemoteSystems.RemoteSystemStatus* value);
                [propget] HRESULT IsAvailableByProximity([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(09DFE4EC-FB8B-4A08-A758-6876435D769E)]
            interface IRemoteSystem2 : IInspectable
            {
                [propget] HRESULT IsAvailableBySpatialProximity([out] [retval] boolean* value);
                HRESULT GetCapabilitySupportedAsync([in] HSTRING capabilityName, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(72B4B495-B7C6-40BE-831B-73562F12FFA8)]
            interface IRemoteSystem3 : IInspectable
            {
                [propget] HRESULT ManufacturerDisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT ModelDisplayName([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(F164FFE5-B987-4CA5-9926-FA0438BE6273)]
            interface IRemoteSystem4 : IInspectable
            {
                [propget] HRESULT Platform([out] [retval] Windows.System.RemoteSystems.RemoteSystemPlatform* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(EB2AD723-E5E2-4AE2-A7A7-A1097A098E90)]
            interface IRemoteSystem5 : IInspectable
            {
                [propget] HRESULT Apps([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.System.RemoteSystems.RemoteSystemApp*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(D4CDA942-C027-533E-9384-3A19B4F7EEF3)]
            interface IRemoteSystem6 : IInspectable
            {
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemAddedEventArgs)]
            [uuid(8F39560F-E534-4697-8836-7ABEA151516E)]
            interface IRemoteSystemAddedEventArgs : IInspectable
            {
                [propget] HRESULT RemoteSystem([out] [retval] Windows.System.RemoteSystems.RemoteSystem** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemApp)]
            [uuid(80E5BCBD-D54D-41B1-9B16-6810A871ED4F)]
            interface IRemoteSystemApp : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT IsAvailableByProximity([out] [retval] boolean* value);
                [propget] HRESULT IsAvailableBySpatialProximity([out] [retval] boolean* value);
                [propget] HRESULT Attributes([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemApp)]
            [uuid(6369BF15-0A96-577A-8FF6-C35904DFA8F3)]
            interface IRemoteSystemApp2 : IInspectable
            {
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
                [propget] HRESULT ConnectionToken([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemAppRegistration)]
            [uuid(B47947B5-7035-4A5A-B8DF-962D8F8431F4)]
            interface IRemoteSystemAppRegistration : IInspectable
            {
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
                [propget] HRESULT Attributes([out] [retval] Windows.Foundation.Collections.IMap<HSTRING, HSTRING>** value);
                HRESULT SaveAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemAppRegistration)]
            [uuid(01B99840-CFD2-453F-AE25-C2539F086AFD)]
            interface IRemoteSystemAppRegistrationStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.System.RemoteSystems.RemoteSystemAppRegistration** result);
                HRESULT GetForUser([in] Windows.System.User* user, [out] [retval] Windows.System.RemoteSystems.RemoteSystemAppRegistration** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemAuthorizationKindFilter)]
            [uuid(6B0DDE8E-04D0-40F4-A27F-C2ACBBD6B734)]
            interface IRemoteSystemAuthorizationKindFilter : IInspectable
            {
                [propget] HRESULT RemoteSystemAuthorizationKind([out] [retval] Windows.System.RemoteSystems.RemoteSystemAuthorizationKind* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemAuthorizationKindFilter)]
            [uuid(AD65DF4D-B66A-45A4-8177-8CAED75D9E5A)]
            interface IRemoteSystemAuthorizationKindFilterFactory : IInspectable
            {
                HRESULT Create([in] Windows.System.RemoteSystems.RemoteSystemAuthorizationKind remoteSystemAuthorizationKind, [out] [retval] Windows.System.RemoteSystems.RemoteSystemAuthorizationKindFilter** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionInfo)]
            [uuid(23278BC3-0D09-52CB-9C6A-EED2940BEE43)]
            interface IRemoteSystemConnectionInfo : IInspectable
            {
                [propget] HRESULT IsProximal([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionInfo)]
            [uuid(AC831E2D-66C5-56D7-A4CE-705D94925AD6)]
            interface IRemoteSystemConnectionInfoStatics : IInspectable
            {
                [overload("TryCreateFromAppServiceConnection")] HRESULT TryCreateFromAppServiceConnection([in] Windows.ApplicationModel.AppService.AppServiceConnection* connection, [out] [retval] Windows.System.RemoteSystems.RemoteSystemConnectionInfo** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionRequest)]
            [uuid(84ED4104-8D5E-4D72-8238-7621576C7A67)]
            interface IRemoteSystemConnectionRequest : IInspectable
            {
                [propget] HRESULT RemoteSystem([out] [retval] Windows.System.RemoteSystems.RemoteSystem** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionRequest)]
            [uuid(12DF6D6F-BFFC-483A-8ABE-D34A6C19F92B)]
            interface IRemoteSystemConnectionRequest2 : IInspectable
            {
                [propget] HRESULT RemoteSystemApp([out] [retval] Windows.System.RemoteSystems.RemoteSystemApp** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionRequest)]
            [uuid(DE86C3E7-C9CC-5A50-B8D9-BA7B34BB8D0E)]
            interface IRemoteSystemConnectionRequest3 : IInspectable
            {
                [propget] HRESULT ConnectionToken([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionRequest)]
            [uuid(AA0A0A20-BAEB-4575-B530-810BB9786334)]
            interface IRemoteSystemConnectionRequestFactory : IInspectable
            {
                HRESULT Create([in] Windows.System.RemoteSystems.RemoteSystem* remoteSystem, [out] [retval] Windows.System.RemoteSystems.RemoteSystemConnectionRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionRequest)]
            [uuid(86CA143D-8214-425C-8932-DB49032D1306)]
            interface IRemoteSystemConnectionRequestStatics : IInspectable
            {
                HRESULT CreateForApp([in] Windows.System.RemoteSystems.RemoteSystemApp* remoteSystemApp, [out] [retval] Windows.System.RemoteSystems.RemoteSystemConnectionRequest** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemConnectionRequest)]
            [uuid(460F1027-64EC-598E-A800-4F2EE58DEF19)]
            interface IRemoteSystemConnectionRequestStatics2 : IInspectable
            {
                HRESULT CreateFromConnectionToken([in] HSTRING connectionToken, [out] [retval] Windows.System.RemoteSystems.RemoteSystemConnectionRequest** result);
                HRESULT CreateFromConnectionTokenForUser([in] Windows.System.User* user, [in] HSTRING connectionToken, [out] [retval] Windows.System.RemoteSystems.RemoteSystemConnectionRequest** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemDiscoveryTypeFilter)]
            [uuid(42D9041F-EE5A-43DA-AC6A-6FEE25460741)]
            interface IRemoteSystemDiscoveryTypeFilter : IInspectable
            {
                [propget] HRESULT RemoteSystemDiscoveryType([out] [retval] Windows.System.RemoteSystems.RemoteSystemDiscoveryType* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemDiscoveryTypeFilter)]
            [uuid(9F9EB993-C260-4161-92F2-9C021F23FE5D)]
            interface IRemoteSystemDiscoveryTypeFilterFactory : IInspectable
            {
                HRESULT Create([in] Windows.System.RemoteSystems.RemoteSystemDiscoveryType discoveryType, [out] [retval] Windows.System.RemoteSystems.RemoteSystemDiscoveryTypeFilter** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemEnumerationCompletedEventArgs)]
            [uuid(C6E83D5F-4030-4354-A060-14F1B22C545D)]
            interface IRemoteSystemEnumerationCompletedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [uuid(4A3BA9E4-99EB-45EB-BA16-0367728FF374)]
            interface IRemoteSystemFilter : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemKindFilter)]
            [uuid(38E1C9EC-22C3-4EF6-901A-BBB1C7AAD4ED)]
            interface IRemoteSystemKindFilter : IInspectable
            {
                [propget] HRESULT RemoteSystemKinds([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemKindFilter)]
            [uuid(A1FB18EE-99EA-40BC-9A39-C670AA804A28)]
            interface IRemoteSystemKindFilterFactory : IInspectable
            {
                HRESULT Create([in] Windows.Foundation.Collections.IIterable<HSTRING>* remoteSystemKinds, [out] [retval] Windows.System.RemoteSystems.RemoteSystemKindFilter** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemKinds)]
            [uuid(F6317633-AB14-41D0-9553-796AADB882DB)]
            interface IRemoteSystemKindStatics : IInspectable
            {
                [propget] HRESULT Phone([out] [retval] HSTRING* value);
                [propget] HRESULT Hub([out] [retval] HSTRING* value);
                [propget] HRESULT Holographic([out] [retval] HSTRING* value);
                [propget] HRESULT Desktop([out] [retval] HSTRING* value);
                [propget] HRESULT Xbox([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemKinds)]
            [uuid(B9E3A3D0-0466-4749-91E8-65F9D19A96A5)]
            interface IRemoteSystemKindStatics2 : IInspectable
            {
                [propget] HRESULT Iot([out] [retval] HSTRING* value);
                [propget] HRESULT Tablet([out] [retval] HSTRING* value);
                [propget] HRESULT Laptop([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemRemovedEventArgs)]
            [uuid(8B3D16BB-7306-49EA-B7DF-67D5714CB013)]
            interface IRemoteSystemRemovedEventArgs : IInspectable
            {
                [propget] HRESULT RemoteSystemId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSession)]
            [uuid(69476A01-9ADA-490F-9549-D31CB14C9E95)]
            interface IRemoteSystemSession : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT ControllerDisplayName([out] [retval] HSTRING* value);
                [eventadd] HRESULT Disconnected([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSession*, Windows.System.RemoteSystems.RemoteSystemSessionDisconnectedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Disconnected([in] EventRegistrationToken token);
                HRESULT CreateParticipantWatcher([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher** result);
                HRESULT SendInvitationAsync([in] Windows.System.RemoteSystems.RemoteSystem* invitee, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionAddedEventArgs)]
            [uuid(D585D754-BC97-4C39-99B4-BECA76E04C3F)]
            interface IRemoteSystemSessionAddedEventArgs : IInspectable
            {
                [propget] HRESULT SessionInfo([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionInfo** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionController)]
            [uuid(E48B2DD2-6820-4867-B425-D89C0A3EF7BA)]
            interface IRemoteSystemSessionController : IInspectable
            {
                [eventadd] HRESULT JoinRequested([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionController*, Windows.System.RemoteSystems.RemoteSystemSessionJoinRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT JoinRequested([in] EventRegistrationToken token);
                HRESULT RemoveParticipantAsync([in] Windows.System.RemoteSystems.RemoteSystemSessionParticipant* pParticipant, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT CreateSessionAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystemSessionCreationResult*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionController)]
            [uuid(BFCC2F6B-AC3D-4199-82CD-6670A773EF2E)]
            interface IRemoteSystemSessionControllerFactory : IInspectable
            {
                [overload("CreateController")] HRESULT CreateController([in] HSTRING displayName, [out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionController** value);
                [overload("CreateController")] HRESULT CreateControllerWithSessionOptions([in] HSTRING displayName, [in] Windows.System.RemoteSystems.RemoteSystemSessionOptions* options, [out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionController** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionCreationResult)]
            [uuid(A79812C2-37DE-448C-8B83-A30AA3C4EAD6)]
            interface IRemoteSystemSessionCreationResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionCreationStatus* value);
                [propget] HRESULT Session([out] [retval] Windows.System.RemoteSystems.RemoteSystemSession** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionDisconnectedEventArgs)]
            [uuid(DE0BC69B-77C5-461C-8209-7C6C5D3111AB)]
            interface IRemoteSystemSessionDisconnectedEventArgs : IInspectable
            {
                [propget] HRESULT Reason([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionDisconnectedReason* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionInfo)]
            [uuid(FF4DF648-8B0A-4E9A-9905-69E4B841C588)]
            interface IRemoteSystemSessionInfo : IInspectable
            {
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT ControllerDisplayName([out] [retval] HSTRING* value);
                HRESULT JoinAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystemSessionJoinResult*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionInvitation)]
            [uuid(3E32CC91-51D7-4766-A121-25516C3B8294)]
            interface IRemoteSystemSessionInvitation : IInspectable
            {
                [propget] HRESULT Sender([out] [retval] Windows.System.RemoteSystems.RemoteSystem** value);
                [propget] HRESULT SessionInfo([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionInfo** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionInvitationListener)]
            [uuid(08F4003F-BC71-49E1-874A-31DDFF9A27B9)]
            interface IRemoteSystemSessionInvitationListener : IInspectable
            {
                [eventadd] HRESULT InvitationReceived([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionInvitationListener*, Windows.System.RemoteSystems.RemoteSystemSessionInvitationReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT InvitationReceived([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionInvitationReceivedEventArgs)]
            [uuid(5E964A2D-A10D-4EDB-8DEA-54D20AC19543)]
            interface IRemoteSystemSessionInvitationReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Invitation([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionInvitation** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionJoinRequest)]
            [uuid(20600068-7994-4331-86D1-D89D882585EE)]
            interface IRemoteSystemSessionJoinRequest : IInspectable
            {
                [propget] HRESULT Participant([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionParticipant** value);
                HRESULT Accept();
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionJoinRequestedEventArgs)]
            [uuid(DBCA4FC3-82B9-4816-9C24-E40E61774BD8)]
            interface IRemoteSystemSessionJoinRequestedEventArgs : IInspectable
            {
                [propget] HRESULT JoinRequest([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionJoinRequest** value);
                HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionJoinResult)]
            [uuid(CE7B1F04-A03E-41A4-900B-1E79328C1267)]
            interface IRemoteSystemSessionJoinResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionJoinStatus* value);
                [propget] HRESULT Session([out] [retval] Windows.System.RemoteSystems.RemoteSystemSession** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel)]
            [uuid(9524D12A-73D9-4C10-B751-C26784437127)]
            interface IRemoteSystemSessionMessageChannel : IInspectable
            {
                [propget] HRESULT Session([out] [retval] Windows.System.RemoteSystems.RemoteSystemSession** value);
                HRESULT BroadcastValueSetAsync([in] Windows.Foundation.Collections.ValueSet* messageData, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT SendValueSetAsync([in] Windows.Foundation.Collections.ValueSet* messageData, [in] Windows.System.RemoteSystems.RemoteSystemSessionParticipant* participant, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT SendValueSetToParticipantsAsync([in] Windows.Foundation.Collections.ValueSet* messageData, [in] Windows.Foundation.Collections.IIterable<Windows.System.RemoteSystems.RemoteSystemSessionParticipant*>* participants, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [eventadd] HRESULT ValueSetReceived([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel*, Windows.System.RemoteSystems.RemoteSystemSessionValueSetReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ValueSetReceived([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel)]
            [uuid(295E1C4A-BD16-4298-B7CE-415482B0E11D)]
            interface IRemoteSystemSessionMessageChannelFactory : IInspectable
            {
                [overload("Create")] HRESULT Create([in] Windows.System.RemoteSystems.RemoteSystemSession* session, [in] HSTRING channelName, [out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel** value);
                [overload("Create")] HRESULT CreateWithReliability([in] Windows.System.RemoteSystems.RemoteSystemSession* session, [in] HSTRING channelName, [in] Windows.System.RemoteSystems.RemoteSystemSessionMessageChannelReliability reliability, [out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionMessageChannel** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionOptions)]
            [uuid(740ED755-8418-4F01-9353-E21C9ECC6CFC)]
            interface IRemoteSystemSessionOptions : IInspectable
            {
                [propget] HRESULT IsInviteOnly([out] [retval] boolean* value);
                [propput] HRESULT IsInviteOnly([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionParticipant)]
            [uuid(7E90058C-ACF9-4729-8A17-44E7BAED5DCC)]
            interface IRemoteSystemSessionParticipant : IInspectable
            {
                [propget] HRESULT RemoteSystem([out] [retval] Windows.System.RemoteSystems.RemoteSystem** value);
                HRESULT GetHostNames([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Networking.HostName*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionParticipantAddedEventArgs)]
            [uuid(D35A57D8-C9A1-4BB7-B6B0-79BB91ADF93D)]
            interface IRemoteSystemSessionParticipantAddedEventArgs : IInspectable
            {
                [propget] HRESULT Participant([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionParticipant** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionParticipantRemovedEventArgs)]
            [uuid(866EF088-DE68-4ABF-88A1-F90D16274192)]
            interface IRemoteSystemSessionParticipantRemovedEventArgs : IInspectable
            {
                [propget] HRESULT Participant([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionParticipant** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher)]
            [uuid(DCDD02CC-AA87-4D79-B6CC-4459B3E92075)]
            interface IRemoteSystemSessionParticipantWatcher : IInspectable
            {
                HRESULT Start();
                HRESULT Stop();
                [propget] HRESULT Status([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcherStatus* value);
                [eventadd] HRESULT Added([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionParticipantAddedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Added([in] EventRegistrationToken token);
                [eventadd] HRESULT Removed([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionParticipantRemovedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Removed([in] EventRegistrationToken token);
                [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionParticipantWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionRemovedEventArgs)]
            [uuid(AF82914E-39A1-4DEA-9D63-43798D5BBBD0)]
            interface IRemoteSystemSessionRemovedEventArgs : IInspectable
            {
                [propget] HRESULT SessionInfo([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionInfo** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSession)]
            [uuid(8524899F-FD20-44E3-9565-E75A3B14C66E)]
            interface IRemoteSystemSessionStatics : IInspectable
            {
                HRESULT CreateWatcher([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionWatcher** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionUpdatedEventArgs)]
            [uuid(16875069-231E-4C91-8EC8-B3A39D9E55A3)]
            interface IRemoteSystemSessionUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT SessionInfo([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionInfo** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionValueSetReceivedEventArgs)]
            [uuid(06F31785-2DA5-4E58-A78F-9E8D0784EE25)]
            interface IRemoteSystemSessionValueSetReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Sender([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionParticipant** value);
                [propget] HRESULT Message([out] [retval] Windows.Foundation.Collections.ValueSet** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemSessionWatcher)]
            [uuid(8003E340-0C41-4A62-B6D7-BDBE2B19BE2D)]
            interface IRemoteSystemSessionWatcher : IInspectable
            {
                HRESULT Start();
                HRESULT Stop();
                [propget] HRESULT Status([out] [retval] Windows.System.RemoteSystems.RemoteSystemSessionWatcherStatus* value);
                [eventadd] HRESULT Added([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionAddedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Added([in] EventRegistrationToken token);
                [eventadd] HRESULT Updated([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Updated([in] EventRegistrationToken token);
                [eventadd] HRESULT Removed([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemSessionWatcher*, Windows.System.RemoteSystems.RemoteSystemSessionRemovedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Removed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(A485B392-FF2B-4B47-BE62-743F2F140F30)]
            interface IRemoteSystemStatics : IInspectable
            {
                HRESULT FindByHostNameAsync([in] Windows.Networking.HostName* hostName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystem*>** operation);
                [overload("CreateWatcher")] HRESULT CreateWatcher([out] [retval] Windows.System.RemoteSystems.RemoteSystemWatcher** result);
                [overload("CreateWatcher")] HRESULT CreateWatcherWithFilters([in] Windows.Foundation.Collections.IIterable<Windows.System.RemoteSystems.IRemoteSystemFilter*>* filters, [out] [retval] Windows.System.RemoteSystems.RemoteSystemWatcher** result);
                HRESULT RequestAccessAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.RemoteSystems.RemoteSystemAccessStatus>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(0C98EDCA-6F99-4C52-A272-EA4F36471744)]
            interface IRemoteSystemStatics2 : IInspectable
            {
                HRESULT IsAuthorizationKindEnabled([in] Windows.System.RemoteSystems.RemoteSystemAuthorizationKind kind, [out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystem)]
            [uuid(9995F16F-0B3C-5AC5-B325-CC73F437DFCD)]
            interface IRemoteSystemStatics3 : IInspectable
            {
                [overload("CreateWatcherForUser")] HRESULT CreateWatcherForUser([in] Windows.System.User* user, [out] [retval] Windows.System.RemoteSystems.RemoteSystemWatcher** result);
                [overload("CreateWatcherForUser")] HRESULT CreateWatcherWithFiltersForUser([in] Windows.System.User* user, [in] Windows.Foundation.Collections.IIterable<Windows.System.RemoteSystems.IRemoteSystemFilter*>* filters, [out] [retval] Windows.System.RemoteSystems.RemoteSystemWatcher** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemStatusTypeFilter)]
            [uuid(0C39514E-CBB6-4777-8534-2E0C521AFFA2)]
            interface IRemoteSystemStatusTypeFilter : IInspectable
            {
                [propget] HRESULT RemoteSystemStatusType([out] [retval] Windows.System.RemoteSystems.RemoteSystemStatusType* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemStatusTypeFilter)]
            [uuid(33CF78FA-D724-4125-AC7A-8D281E44C949)]
            interface IRemoteSystemStatusTypeFilterFactory : IInspectable
            {
                HRESULT Create([in] Windows.System.RemoteSystems.RemoteSystemStatusType remoteSystemStatusType, [out] [retval] Windows.System.RemoteSystems.RemoteSystemStatusTypeFilter** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemUpdatedEventArgs)]
            [uuid(7502FF0E-DBCB-4155-B4CA-B30A04F27627)]
            interface IRemoteSystemUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT RemoteSystem([out] [retval] Windows.System.RemoteSystems.RemoteSystem** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemWatcher)]
            [uuid(5D600C7E-2C07-48C5-889C-455D2B099771)]
            interface IRemoteSystemWatcher : IInspectable
            {
                HRESULT Start();
                HRESULT Stop();
                [eventadd] HRESULT RemoteSystemAdded([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemAddedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT RemoteSystemAdded([in] EventRegistrationToken token);
                [eventadd] HRESULT RemoteSystemUpdated([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT RemoteSystemUpdated([in] EventRegistrationToken token);
                [eventadd] HRESULT RemoteSystemRemoved([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemRemovedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT RemoteSystemRemoved([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemWatcher)]
            [uuid(73436700-19CA-48F9-A4CD-780F7AD58C71)]
            interface IRemoteSystemWatcher2 : IInspectable
            {
                [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemEnumerationCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
                [eventadd] HRESULT ErrorOccurred([in] Windows.Foundation.TypedEventHandler<Windows.System.RemoteSystems.RemoteSystemWatcher*, Windows.System.RemoteSystems.RemoteSystemWatcherErrorOccurredEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ErrorOccurred([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemWatcher)]
            [uuid(F79C0FCF-A913-55D3-8413-418FCF15BA54)]
            interface IRemoteSystemWatcher3 : IInspectable
            {
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemWatcherErrorOccurredEventArgs)]
            [uuid(74C5C6AF-5114-4426-9216-20D81F8519AE)]
            interface IRemoteSystemWatcherErrorOccurredEventArgs : IInspectable
            {
                [propget] HRESULT Error([out] [retval] Windows.System.RemoteSystems.RemoteSystemWatcherError* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemWebAccountFilter)]
            [uuid(3FB75873-87C8-5D8F-977E-F69F96D67238)]
            interface IRemoteSystemWebAccountFilter : IInspectable
            {
                [propget] HRESULT Account([out] [retval] Windows.Security.Credentials.WebAccount** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.System.RemoteSystems.RemoteSystemWebAccountFilter)]
            [uuid(348A2709-5F4D-5127-B4A7-BF99D5252B1B)]
            interface IRemoteSystemWebAccountFilterFactory : IInspectable
            {
                HRESULT Create([in] Windows.Security.Credentials.WebAccount* account, [out] [retval] Windows.System.RemoteSystems.RemoteSystemWebAccountFilter** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.RemoteSystems.IKnownRemoteSystemCapabilitiesStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass KnownRemoteSystemCapabilities
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.RemoteSystems.IRemoteSystemStatics, Windows.Foundation.UniversalApiContract, 3.0)]
            [static(Windows.System.RemoteSystems.IRemoteSystemStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [static(Windows.System.RemoteSystems.IRemoteSystemStatics3, Windows.Foundation.UniversalApiContract, 8.0)]
            [threading(both)]
            runtimeclass RemoteSystem
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystem;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.System.RemoteSystems.IRemoteSystem2;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.System.RemoteSystems.IRemoteSystem3;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.System.RemoteSystems.IRemoteSystem4;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.System.RemoteSystems.IRemoteSystem5;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.System.RemoteSystems.IRemoteSystem6;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemAddedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemAddedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemApp
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemApp;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.System.RemoteSystems.IRemoteSystemApp2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.RemoteSystems.IRemoteSystemAppRegistrationStatics, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass RemoteSystemAppRegistration
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemAppRegistration;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemAuthorizationKindFilterFactory, Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemAuthorizationKindFilter
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemAuthorizationKindFilter;
                interface Windows.System.RemoteSystems.IRemoteSystemFilter;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.RemoteSystems.IRemoteSystemConnectionInfoStatics, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass RemoteSystemConnectionInfo
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemConnectionInfo;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemConnectionRequestFactory, Windows.Foundation.UniversalApiContract, 3.0)]
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.RemoteSystems.IRemoteSystemConnectionRequestStatics, Windows.Foundation.UniversalApiContract, 7.0)]
            [static(Windows.System.RemoteSystems.IRemoteSystemConnectionRequestStatics2, Windows.Foundation.UniversalApiContract, 8.0)]
            [threading(both)]
            runtimeclass RemoteSystemConnectionRequest
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemConnectionRequest;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.System.RemoteSystems.IRemoteSystemConnectionRequest2;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.System.RemoteSystems.IRemoteSystemConnectionRequest3;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemDiscoveryTypeFilterFactory, Windows.Foundation.UniversalApiContract, 3.0)]
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemDiscoveryTypeFilter
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemDiscoveryTypeFilter;
                interface Windows.System.RemoteSystems.IRemoteSystemFilter;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemEnumerationCompletedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemEnumerationCompletedEventArgs;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemKindFilterFactory, Windows.Foundation.UniversalApiContract, 3.0)]
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemKindFilter
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemKindFilter;
                interface Windows.System.RemoteSystems.IRemoteSystemFilter;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.RemoteSystems.IRemoteSystemKindStatics, Windows.Foundation.UniversalApiContract, 3.0)]
            [static(Windows.System.RemoteSystems.IRemoteSystemKindStatics2, Windows.Foundation.UniversalApiContract, 5.0)]
            [threading(both)]
            runtimeclass RemoteSystemKinds
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemRemovedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemRemovedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.RemoteSystems.IRemoteSystemSessionStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass RemoteSystemSession
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSession;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionAddedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionAddedEventArgs;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemSessionControllerFactory, Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemSessionController
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionController;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionCreationResult
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionCreationResult;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionDisconnectedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionDisconnectedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionInfo
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionInfo;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionInvitation
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionInvitation;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemSessionInvitationListener
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionInvitationListener;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionInvitationReceivedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionInvitationReceivedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionJoinRequest
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionJoinRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionJoinRequestedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionJoinRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionJoinResult
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionJoinResult;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemSessionMessageChannelFactory, Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemSessionMessageChannel
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionMessageChannel;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 4.0)]
            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemSessionOptions
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionOptions;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionParticipant
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionParticipant;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionParticipantAddedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionParticipantAddedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionParticipantRemovedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionParticipantRemovedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionParticipantWatcher
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionParticipantWatcher;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionRemovedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionRemovedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionUpdatedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionValueSetReceivedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionValueSetReceivedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemSessionWatcher
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemSessionWatcher;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemStatusTypeFilterFactory, Windows.Foundation.UniversalApiContract, 3.0)]
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemStatusTypeFilter
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemStatusTypeFilter;
                interface Windows.System.RemoteSystems.IRemoteSystemFilter;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemUpdatedEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemWatcher
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemWatcher;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.System.RemoteSystems.IRemoteSystemWatcher2;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.System.RemoteSystems.IRemoteSystemWatcher3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemoteSystemWatcherErrorOccurredEventArgs
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemWatcherErrorOccurredEventArgs;
            }

            [activatable(Windows.System.RemoteSystems.IRemoteSystemWebAccountFilterFactory, Windows.Foundation.UniversalApiContract, 7.0)]
            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteSystemWebAccountFilter
            {
                [default] interface Windows.System.RemoteSystems.IRemoteSystemWebAccountFilter;
                interface Windows.System.RemoteSystems.IRemoteSystemFilter;
            }
        }
    }
}
