RemoteSystemSessionController Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Controla la creación y administración de una nueva sesión remota para que otros dispositivos se unan.
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
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 Creators Update (se introdujo en la versión 10.0.15063.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v4.0)
|
Características de aplicaciones |
remoteSystem
|
Ejemplos
Consulte el código siguiente para obtener un ejemplo de cómo crear una sesión remota y controlar las solicitudes de combinación.
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
}
}
Comentarios
Cada sesión remota tiene un participante que es el controlador de la sesión. Solo el controlador puede especificar opciones para la sesión, aceptar solicitudes de unión de participantes y quitar participantes de la sesión.
Importante
Debe confirmar el acceso a la plataforma del sistema remoto con una llamada a RemoteSystem.RequestAccessAsync antes de crear una instancia de esta clase.
Constructores
RemoteSystemSessionController(String) |
Inicializa un RemoteSystemSessionController con un nombre para mostrar personalizado. |
RemoteSystemSessionController(String, RemoteSystemSessionOptions) |
Inicializa un RemoteSystemSessionController con un nombre para mostrar personalizado y opciones especificadas. |
Métodos
CreateSessionAsync() |
Intenta crear una sesión remota de forma asincrónica. |
RemoveParticipantAsync(RemoteSystemSessionParticipant) |
Quita un participante de la sesión remota. |
Eventos
JoinRequested |
Se genera cada vez que otro dispositivo ha detectado y solicitado acceso a la sesión remota administrada por este RemoteSystemSessionController. |