RemoteSystemSessionInfo RemoteSystemSessionInfo RemoteSystemSessionInfo RemoteSystemSessionInfo RemoteSystemSessionInfo Class

Definition

Contains identifying information about a remote session.

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

Windows 10 requirements

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

Examples

See the code example below for the full process of discovering a remote session (including obtaining a reference to a RemoteSystemSessionInfo instance).


// Discover an existing shared experience.
public void DiscoverExistingSessions() {
    
    // create a watcher for remote system sessions
    RemoteSystemSessionWatcher sessionWatcher = RemoteSystemSession.CreateWatcher();
    
    // register a handler for the "added" event
    sessionWatcher.Added += async (sender, args) => {
        
        // get a reference to the info about the discovered session
        RemoteSystemSessionInfo sessionInfo = args.RemoteSystemSessionInfo;
        
        // update the UI with the sessionInfo.DisplayName and 
        // sessionInfo.ControllerDisplayName strings. Save a reference to 
        // this RemoteSystemSessionInfo, to use when the user selects
        // this session from the UI
        
        //...
    };
    
    // Begin watching
    sessionWatcher.Start();
}

Once a RemoteSystemSessionInfo reference has be acquired, it can be used to issue a join request. See the code example below for the process of joining a remote session.


public async void JoinExistingSession() {
    
    // request to join. sessionInfo has already been selected by user.
    RemoteSystemSessionJoinResult joinResult = await sessionInfo.JoinAsync();
    
    // process the result
    if (joinResult.Status == RemoteSystemSessionJoinStatus.Success) {
        
        // if the join was successful, acquire a reference to the session
        currentSession = joinResult.Session;
        
        // optionally handle the disconnected event
        currentSession.Disconnected += async (sender, args) => {
            // update the UI, using args.Reason
        };
        
        // update the UI with the session.DisplayName and 
        // session.ControllerDisplayName strings. Save a reference to 
        // this RemoteSystemSession, to use when the user selects
        // this session from the UI

    } else {
        // join request failed. optionally update UI
    }
}

Remarks

A session that has been joined is represented by a RemoteSystemSession object. A session that is known about but has not been joined is represented by a RemoteSystemSessionInfo object.

Properties

ControllerDisplayName ControllerDisplayName ControllerDisplayName ControllerDisplayName ControllerDisplayName

Gets the machine name of the device that is the controller of the remote session.

DisplayName DisplayName DisplayName DisplayName DisplayName

Gets the public-facing name for the remote session, given by the controller of the session.

Methods

JoinAsync() JoinAsync() JoinAsync() JoinAsync() JoinAsync()

Issues a request from the calling device to join the given remote session.