Freigeben über


RemoteSystemSessionWatcher Klasse

Definition

Überwacht aktivitäten im Zusammenhang mit der Ermittlung von Remotesitzungen und löst die entsprechenden Ereignisse aus.

public ref class RemoteSystemSessionWatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RemoteSystemSessionWatcher final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class RemoteSystemSessionWatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RemoteSystemSessionWatcher
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class RemoteSystemSessionWatcher
Public NotInheritable Class RemoteSystemSessionWatcher
Vererbung
Object Platform::Object IInspectable RemoteSystemSessionWatcher
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 Creators Update (eingeführt in 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v4.0)
App-Funktionen
remoteSystem

Beispiele

Im folgenden Codebeispiel erfahren Sie, wie Sie eine Remotesitzung ermitteln.

// 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();
}

Hinweise

Diese Klasse wird instanziiert, wenn die RemoteSystemSession.CreateWatcher-Methode aufgerufen wird.

Wichtig

Sie müssen den Zugriff auf die Remotesystemplattform mit einem Aufruf von RemoteSystem.RequestAccessAsync bestätigen, bevor Sie diese Klasse instanziieren.

Wichtig

Die folgenden Bedingungen müssen erfüllt sein, damit die Remotesitzungsermittlung wie gewünscht funktioniert:

  1. Bluetooth muss sowohl für client- als auch für Hostgeräte aktiviert sein. Die Sitzungsermittlung funktioniert möglicherweise über die LAN-Ermittlung, ist aber nicht garantiert (sie hängt von der Netzwerkkonfiguration ab).
  2. In der Einstellungen-App auf dem Hostgerät muss die Einstellung Geräteübergreifend freigeben unter System –> Freigegebene Erfahrungen auf "Jeder in der Nähe" festgelegt sein.
  3. Client- und Host-Apps müssen über denselben PackageFamilyName verfügen.

Eigenschaften

Status

Ruft den operativen status dieser Remotesitzungsüberwachung ab.

Methoden

Start()

Beginnt mit der Überwachung auf auffindbare Remotesitzungen. Der Ermittlungsprozess wird ausgeführt, bis die Stop-Methode aufgerufen wird. Für ein RemoteSystemSessionWatcher-Objekt kann die Start-Methode zu einem späteren Zeitpunkt erneut aufgerufen werden.

Stop()

Beendet die Überwachung auf auffindbare Remotesitzungen.

Ereignisse

Added

Wird ausgelöst, wenn eine neue Remotesitzung vom RemoteSystemSessionWatcher erkannt wurde.

Removed

Wird ausgelöst, wenn eine zuvor ermittelte Remotesitzung verschwunden ist.

Updated

Wird ausgelöst, wenn für eine zuvor ermittelte Remotesitzung ein Teil der Informationen aktualisiert wurde.

Gilt für: