Share via


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에서 도입되었습니다.)

설명

이 개체는 더 이상 사용되지 않는 모든 DisplayTarget 개체의 소유권을 취소하는 데 사용해야 하는 IClosable/IDisposable을 구현합니다.

메서드

Close()

DisplayManager instance 소유한 모든 DisplayTarget 개체의 소유권을 취소합니다.

Create(DisplayManagerOptions)

지정된 옵션을 사용하여 DisplayManager instance 만듭니다.

CreateDisplayDevice(DisplayAdapter)

지정된 어댑터에 대한 DisplayDevice 개체를 만듭니다. DisplayDevice를 사용하여 지정된 어댑터의 대상에 전체 화면 콘텐츠를 만들고 표시할 수 있습니다.

CreateDisplayDeviceForIndirectAdapter(DisplayAdapter, DisplayAdapter)

DisplayTarget 개체 또는 개체의 소유권을 관리하고 DisplayState 개체를 만드는 메서드를 제공합니다.

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

GetCurrentAdapters()

현재 시스템에 있는 디스플레이 어댑터 집합을 열거합니다.

GetCurrentTargets()

현재 시스템에 있는 표시 대상 집합을 열거합니다.

ReleaseTarget(DisplayTarget)

지정된 표시 대상의 소유권을 해제하여 시스템의 다른 구성 요소가 소유권을 획득할 수 있도록 합니다.

Start()

모든 DisplayManager 이벤트를 원자성으로 수신 대기하기 시작합니다. Start를 호출할 때까지 DisplayManager 이벤트가 발생하지 않습니다.

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 이 호출될 때 발생하는 이벤트입니다. 터미널 서비스 세션 전환과 같은 여러 경우에 세션 표시 스택을 사용하지 않도록 설정하거나 드라이버 오류에서 복구할 수 있습니다. 사용 안 함을 호출할 때 구독자가 클린 시도하는 것이 좋습니다. 세션 표시 스택을 사용하지 않도록 설정하면 대부분의 디스플레이 API가 실패합니다.

Enabled

현재 세션의 표시 스택을 사용할 때마다, DisplayManager.Start 가 호출될 때 발생하는 이벤트입니다. 터미널 서비스 세션 전환과 같은 여러 경우에 세션 표시 스택을 다시 사용하도록 설정하거나 드라이버 오류로부터 복구할 수 있습니다. 이 이벤트가 발생하기 전에 시스템 표시 스택을 모든 상태로 남겨둘 수 있으므로 구독자는 이 호출에서 모든 대상과 상태를 다시 열거하는 것이 좋습니다.

PathsFailedOrInvalidated

시스템에서 표시 경로가 실패하거나 비동기적으로 무효화될 때마다 발생하는 이벤트입니다. 이는 하드웨어 대역폭 요구 사항 변경 또는 드라이버 오류로 인해 발생할 수 있습니다.

이 이벤트의 구독자는 자신이 소유한 대상에 대해 TryAcquireTargetsAndReadCurrentState를 호출하고 결과 DisplayState 개체의 경로에 Status 속성이 FailedAsync 또는 InvalidatedAsync로 설정되어 있는지 여부를 검사 권장 작업을 수행해야 합니다.

적용 대상