RemoteSystemSessionJoinRequestedEventArgs RemoteSystemSessionJoinRequestedEventArgs RemoteSystemSessionJoinRequestedEventArgs RemoteSystemSessionJoinRequestedEventArgs Class

Definition

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

public : sealed class RemoteSystemSessionJoinRequestedEventArgs : IRemoteSystemSessionJoinRequestedEventArgspublic sealed class RemoteSystemSessionJoinRequestedEventArgs : IRemoteSystemSessionJoinRequestedEventArgsPublic NotInheritable Class RemoteSystemSessionJoinRequestedEventArgs Implements IRemoteSystemSessionJoinRequestedEventArgs// You can use this class in JavaScript.
Attributes
Windows 10 requirements
Device family
Windows 10 Creators Update (introduced v10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v4)

Examples

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
        args.JoinRequest.Accept();
    };

    // create and start the session
    RemoteSystemSessionCreationResult createResult = await manager.CreateSessionAsync();

    // handle the creation result
    if (createResult.Status == RemoteSystemSessionCreateStatus.Success) {
        // creation was successful
        RemoteSystemSession currentSession = createResult.RemoteSystemSession;

        // optionally subscribe to the disconnection event
        currentSession.Disconnected += async (sender, args) => {
            // update the UI, using args.Reason
            // ...
        };

        // Use session ...

    } else if (createResult.Status == RemoteSystemSessionCreateStatus.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
    }
}

Remarks

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

Properties

JoinRequest JoinRequest JoinRequest JoinRequest

Gets the RemoteSystemSessionJoinRequest that represents this incoming request.

public : RemoteSystemSessionJoinRequest JoinRequest { get; }public RemoteSystemSessionJoinRequest JoinRequest { get; }Public ReadOnly Property JoinRequest As RemoteSystemSessionJoinRequest// You can use this property in JavaScript.

Methods

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

Gets a deferral object for this operation.

public : Deferral GetDeferral()public Deferral GetDeferral()Public Function GetDeferral() As Deferral// You can use this method in JavaScript.
Returns

A Deferral object that the app uses to signal when it has finished processing this request.