共用方式為


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 引進)

備註

此物件會實作IClosableIDisposable/ ,這應該用來撤銷所有DisplayTarget物件的擁有權,一旦不再使用。

方法

Close()

撤銷這個DisplayManager實例擁有之所有DisplayTarget物件的擁有權。

Create(DisplayManagerOptions)

使用指定的選項建立 DisplayManager 實例。

CreateDisplayDevice(DisplayAdapter)

為指定的配接器建立 DisplayDevice 物件。 DisplayDevice可用來建立和呈現全螢幕內容給指定配接器上的目標。

CreateDisplayDeviceForIndirectAdapter(DisplayAdapter, DisplayAdapter)

管理 DisplayTarget 物件或物件的擁有權,並提供方法來建立 DisplayState 物件。

Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

GetCurrentAdapters()

列舉系統上目前存在的一組顯示介面卡。

GetCurrentTargets()

列舉系統上目前存在的顯示目標集。

ReleaseTarget(DisplayTarget)

釋放指定顯示目標的擁有權,讓系統上的其他元件取得擁有權。

Start()

開始以不可部分完成的方式接聽所有 DisplayManager 事件。 在您呼叫Start之前,不會引發DisplayManager事件。

Stop()

停止以不可部分完成的方式接聽所有 DisplayManager 事件,並同步觸發 Disabled

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

新增、移除或修改系統顯示硬體時所引發的事件。 每當 DisplayAdapterDisplayTarget 集合變更時,就會發生這種情況。 使用此事件來偵測這些變更,並呼叫 GetCurrentAdapters 和/或 GetCurrentTargets 以取得更新的集合。

Disabled

每當目前會話的顯示堆疊停用,以及呼叫 DisplayManager.Stop 時,就會引發事件。 您可以在數種情況下停用會話顯示堆疊,例如切換終端機服務會話,或從驅動程式失敗復原。 建議您在叫用 Disabled 時嘗試清除訂閱者。 當會話顯示堆疊停用時,大部分的顯示 API 都會失敗。

Enabled

每當啟用目前會話的顯示堆疊,以及呼叫 DisplayManager.Start 時引發的事件。 您可以在數種情況下重新啟用會話顯示堆疊,例如切換終端機服務會話,或從驅動程式失敗復原。 我們建議訂閱者重新列舉此呼叫中的所有目標和狀態,因為系統顯示堆疊可以在引發此事件之前保留任何狀態。

PathsFailedOrInvalidated

每當系統以非同步方式失敗或無效顯示路徑時引發的事件。 這可能是因為變更硬體頻寬需求,或因為驅動程式失敗所致。

此事件的訂閱者應該針對自己擁有的目標呼叫 TryAcquireTargetsAndReadCurrentState ,並檢查產生的 DisplayState 物件中的任何路徑是否將其 Status 屬性設定為 FailedAsyncInvalidatedAsync,並採取建議的動作。

適用於