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


DisplayManager Класс

Определение

Управляет владением объектом Или объектами DisplayTarget и предоставляет методы для создания объектов DisplayState .

public ref class DisplayManager sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 458752)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DisplayManager final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 458752)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DisplayManager : System.IDisposable
Public NotInheritable Class DisplayManager
Implements IDisposable
Наследование
Object Platform::Object IInspectable DisplayManager
Атрибуты
Реализации

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

Семейство устройств
Windows 10, version 1809 (появилось в 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v7.0)

Комментарии

Этот объект реализует IClosable/IDisposable, который следует использовать для отмены владения всеми объектами DisplayTarget , когда они больше не используются.

Методы

Close()

Отменяет владение всеми объектами DisplayTarget , принадлежащими данному экземпляру DisplayManager .

Create(DisplayManagerOptions)

Создает экземпляр DisplayManager с указанными параметрами.

CreateDisplayDevice(DisplayAdapter)

Создает объект DisplayDevice для заданного адаптера. DisplayDevice можно использовать для создания и представления полноэкранного содержимого целевым объектам на данном адаптере.

CreateDisplayDeviceForIndirectAdapter(DisplayAdapter, DisplayAdapter)

Управляет владением объектом Или объектами DisplayTarget и предоставляет методы для создания объектов DisplayState .

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

GetCurrentAdapters()

Перечисляет набор видеоадаптеров, которые в настоящее время присутствуют в системе.

GetCurrentTargets()

Перечисляет набор целевых объектов отображения, которые в настоящее время присутствуют в системе.

ReleaseTarget(DisplayTarget)

Освобождает права владения указанным целевым объектом отображения, позволяя другим компонентам в системе приобретать права владения.

Start()

Начинает прослушивание всех событий DisplayManager атомарным образом. События DisplayManager не вызываются, пока вы не вызовете start.

Stop()

Прекращает прослушивание всех событий DisplayManager атомарным образом и синхронно активирует отключено .

TryAcquireTarget(DisplayTarget)

Пытается приобрести монопольное владение DisplayTarget.

TryAcquireTargetsAndCreateEmptyState(IIterable<DisplayTarget>)

Пытается получить монопольное владение коллекцией объектов DisplayTarget и создает пустой изменяемый объект DisplayState , который поддерживает подключение путей к этим целевым объектам.

TryAcquireTargetsAndCreateSubstate(DisplayState, IIterable<DisplayTarget>)

Пытается получить монопольную собственность на коллекцию объектов DisplayTarget и вырезает подмножество заданного DisplayState только для целевых объектов, переданных этому методу. Итоговое состояние можно изменить и применить.

TryAcquireTargetsAndReadCurrentState(IIterable<DisplayTarget>)

Пытается получить монопольное владение коллекцией объектов DisplayTarget и создает изменяемый DisplayState , заполненный текущим состоянием предоставленных целевых объектов.

TryReadCurrentStateForAllTargets()

Создает объект DisplayState только для чтения, заполненный всем состоянием отображения системы для всех целевых объектов.

TryReadCurrentStateForModeQuery()

Управляет владением объектом Или объектами DisplayTarget и предоставляет методы для создания объектов DisplayState .

События

Changed

Событие, возникающее при добавлении, удалении или изменении оборудования системного дисплея. Это может произойти при каждом изменении коллекций DisplayAdapter или DisplayTarget . Используйте это событие для обнаружения этих изменений и вызовите GetCurrentAdapters и (или) GetCurrentTargets , чтобы получить обновленные коллекции.

Disabled

Событие, возникаемое при отключении стека отображения текущего сеанса и при вызове DisplayManager.Stop . Вы можете отключить стек отображения сеансов в нескольких случаях, например в переключении сеансов служб терминалов или для восстановления после сбоев драйверов. Рекомендуется, чтобы подписчики пытались выполнить очистку при вызове Disabled . Большинство интерфейсов API отображения завершатся сбоем, пока стек отображения сеанса отключен.

Enabled

Событие, возникаемое при каждом включении стека отображения текущего сеанса и при вызове DisplayManager.Start . Вы можете повторно включить стек отображения сеансов в нескольких случаях, например переключение сеансов служб терминалов или восстановление после сбоев драйверов. Мы рекомендуем подписчикам повторно перечислить все целевые объекты и состояние в этом вызове, так как системный стек отображения может оставаться в любом состоянии до возникновения этого события.

PathsFailedOrInvalidated

Событие, возникающее при сбое пути отображения или асинхронном отключении системой. Это может быть вызвано изменением требований к пропускной способности оборудования или сбоями драйвера.

Подписчики этого события должны вызывать TryAcquireTargetsAndReadCurrentState для целевых объектов, которыми они принадлежат, и проверка, имеет ли какое-либо из путей в результирующем объекте DisplayState свойство Status со значением FailedAsync или InvalidatedAsync, и выполнить рекомендуемое действие.

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