RemoteSystemSessionController Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Übernimmt die Erstellung und Verwaltung einer neuen Remotesitzung für andere Geräte, die beitreten sollen.
public ref class RemoteSystemSessionController sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.System.RemoteSystems.IRemoteSystemSessionControllerFactory, 262144, "Windows.Foundation.UniversalApiContract")]
/// [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 RemoteSystemSessionController final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.System.RemoteSystems.IRemoteSystemSessionControllerFactory), 262144, "Windows.Foundation.UniversalApiContract")]
[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 RemoteSystemSessionController
function RemoteSystemSessionController(displayName, options)
Public NotInheritable Class RemoteSystemSessionController
- Vererbung
- 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 Code finden Sie ein Beispiel für das Erstellen einer Remotesitzung und das Verarbeiten von Joinanforderungen.
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 == 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
}
}
Hinweise
Jede Remotesitzung verfügt über einen Teilnehmer, der der Controller der Sitzung ist. Nur der Controller kann Optionen für die Sitzung angeben, Beitrittsanforderungen von möchteigen Teilnehmern annehmen und Teilnehmer aus der Sitzung entfernen.
Wichtig
Sie müssen den Zugriff auf die Remotesystemplattform mit einem Aufruf von RemoteSystem.RequestAccessAsync bestätigen, bevor Sie diese Klasse instanziieren.
Konstruktoren
RemoteSystemSessionController(String) |
Initialisiert einen RemoteSystemSessionController mit einem benutzerdefinierten Anzeigenamen. |
RemoteSystemSessionController(String, RemoteSystemSessionOptions) |
Initialisiert einen RemoteSystemSessionController mit einem benutzerdefinierten Anzeigenamen und angegebenen Optionen. |
Methoden
CreateSessionAsync() |
Versucht asynchron, eine Remotesitzung zu erstellen. |
RemoveParticipantAsync(RemoteSystemSessionParticipant) |
Entfernt einen Teilnehmer aus der Remotesitzung. |
Ereignisse
JoinRequested |
Wird ausgelöst, wenn ein anderes Gerät zugriff auf die Remotesitzung ermittelt und angefordert hat, die von diesem RemoteSystemSessionController verwaltet wird. |