Поделиться через


RemoteSystemSessionWatcher Класс

Определение

Наблюдает за действиями, связанными с обнаружением удаленных сеансов, и вызывает соответствующие события.

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
Наследование
Object Platform::Object IInspectable RemoteSystemSessionWatcher
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 Creators Update (появилось в 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v4.0)
Возможности приложения
remoteSystem

Примеры

Процесс обнаружения удаленного сеанса см. в приведенном ниже примере кода.

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

Комментарии

Этот класс создается при вызове метода RemoteSystemSession.CreateWatcher .

Важно!

Прежде чем создавать экземпляр этого класса, необходимо подтвердить доступ к удаленной системной платформе с помощью вызова RemoteSystem.RequestAccessAsync .

Важно!

Чтобы удаленное обнаружение сеансов работало должным образом, необходимо выполнить следующие условия:

  1. Bluetooth должен быть включен как для клиентских, так и для ведущих устройств. Обнаружение сеансов может работать через обнаружение по локальной сети, но это не гарантируется (это зависит от конфигурации сети).
  2. В приложении "Параметры" на хост-устройстве для параметра Общий доступ на устройствах в разделе Система —> общие возможности необходимо установить значение "Все поблизости".
  3. Клиентские и ведущие приложения должны иметь одно и то же PackageFamilyName.

Свойства

Status

Возвращает рабочее состояние этого удаленного наблюдателя за сеансами.

Методы

Start()

Начинает отслеживать обнаруживаемые удаленные сеансы. Процесс обнаружения выполняется до вызова метода Stop . Объект RemoteSystemSessionWatcher может вызвать метод Start позже.

Stop()

Прекращает наблюдение за обнаруживаемыми удаленными сеансами.

События

Added

Возникает при обнаружении нового удаленного сеанса remoteSystemSessionWatcher.

Removed

Возникает при исчезновении обнаруженного ранее удаленного сеанса.

Updated

Возникает, когда в удаленном сеансе, обнаруженном ранее, обновлена часть сведений.

Применяется к