RemoteSystemSessionCreationResult Class


Represents the result of an attempt by a RemoteSystemSessionController object to create a new remote session.

public ref class RemoteSystemSessionCreationResult sealed
class RemoteSystemSessionCreationResult sealed
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
public sealed class RemoteSystemSessionCreationResult
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
public sealed class RemoteSystemSessionCreationResult
Public NotInheritable Class RemoteSystemSessionCreationResult

Windows 10 requirements

Device family
Windows 10 Creators Update (introduced in 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v4.0)
App capabilities


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



Gets the RemoteSystemSession object related to this creation attempt.


Gets the status of a RemoteSystemSessionController object's attempt to create a remote session.

Applies to