RemoteSystemSessionJoinRequestedEventArgs RemoteSystemSessionJoinRequestedEventArgs RemoteSystemSessionJoinRequestedEventArgs RemoteSystemSessionJoinRequestedEventArgs RemoteSystemSessionJoinRequestedEventArgs Class


Contains information about the RemoteSystemSessionController.JoinRequested event that was raised.

public : sealed class RemoteSystemSessionJoinRequestedEventArgs
struct winrt::Windows::System::RemoteSystems::RemoteSystemSessionJoinRequestedEventArgs
public sealed class RemoteSystemSessionJoinRequestedEventArgs
Public NotInheritable Class RemoteSystemSessionJoinRequestedEventArgs
// This class does not provide a public constructor.

Windows 10 requirements

Device family
Windows 10 Creators Update (introduced v10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v4)


See the following code for an example of how to create a remote session and handle join requests.

public async void StartNewSharedExperience() {
    var manager = new RemoteSystemSessionController("Bob’s Minecraft game");
    // register the following code to handle the JoinRequested event
    manager.JoinRequested += async (sender, args) => {
        // Get the deferral
        var deferral = args.GetDeferral();
        // display the participant (args.JoinRequest.Participant) on UI, giving the 
        // user an opportunity to respond
        // ...
        // If the user chooses "accept", accept this remote system as a participant
    // create and start the session
    RemoteSystemSessionCreationResult createResult = await manager.CreateSessionAsync();
    // handle the creation result
    if (createResult.Status == RemoteSystemSessionCreationStatus.Success) {
        // creation was successful
        RemoteSystemSession currentSession = createResult.Session;
        // optionally subscribe to the disconnection event
        currentSession.Disconnected += async (sender, args) => {
            // update the UI, using args.Reason
            // ...
        // Use session ...
    } else if (createResult.Status == RemoteSystemSessionCreationStatus.SessionLimitsExceeded) {
        // creation failed. Optionally update UI to indicate that there are too many sessions in progress
    } else {
        // creation failed for an unknown reason. Optionally update UI


This class is instantiated whenever the RemoteSystemSessionController.JoinRequested event is raised, and it should be handled by the method(s) registered to this event.


JoinRequest JoinRequest JoinRequest JoinRequest JoinRequest

Gets the RemoteSystemSessionJoinRequest that represents this incoming request.


GetDeferral() GetDeferral() GetDeferral() GetDeferral() GetDeferral()

Gets a deferral object for this operation.