Share via


DisplayManager Klasse

Definition

Verwaltet den Besitz eines DisplayTarget-Objekts oder -Objekts und stellt Methoden zum Erstellen von DisplayState-Objekten bereit.

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
Vererbung
Object Platform::Object IInspectable DisplayManager
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10, version 1809 (eingeführt in 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v7.0)

Hinweise

Dieses Objekt implementiert IClosable/IDisposable, das verwendet werden soll, um den Besitz aller DisplayTarget-Objekte zu widerrufen, sobald sie nicht mehr verwendet werden.

Methoden

Close()

Widerruft den Besitz aller DisplayTarget-Objekte im Besitz dieses DisplayManager-instance.

Create(DisplayManagerOptions)

Erstellt einen DisplayManager-instance mit den angegebenen Optionen.

CreateDisplayDevice(DisplayAdapter)

Erstellt ein DisplayDevice-Objekt für den angegebenen Adapter. Das DisplayDevice kann zum Erstellen und Präsentieren von Vollbildinhalten für Ziele auf dem angegebenen Adapter verwendet werden.

CreateDisplayDeviceForIndirectAdapter(DisplayAdapter, DisplayAdapter)

Verwaltet den Besitz eines DisplayTarget-Objekts oder -Objekts und stellt Methoden zum Erstellen von DisplayState-Objekten bereit.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

GetCurrentAdapters()

Listet den Satz von Grafikkarten auf, die derzeit im System vorhanden sind.

GetCurrentTargets()

Listet den Satz von Anzeigezielen auf, die derzeit im System vorhanden sind.

ReleaseTarget(DisplayTarget)

Gibt den Besitz des angegebenen Anzeigeziels frei, sodass andere Komponenten im System den Besitz erwerben können.

Start()

Beginnt, alle DisplayManager-Ereignisse atomar zu überwachen. DisplayManager-Ereignisse werden erst ausgelöst, wenn Sie Start aufrufen.

Stop()

Beendet das atomare Lauschen aller DisplayManager-Ereignisse und löst synchron deaktiviert aus.

TryAcquireTarget(DisplayTarget)

Versucht, den exklusiven Besitz eines DisplayTarget zu erwerben.

TryAcquireTargetsAndCreateEmptyState(IIterable<DisplayTarget>)

Versucht, den exklusiven Besitz einer Auflistung von DisplayTarget-Objekten zu erwerben, und erstellt ein leeres änderbares DisplayState-Objekt , das Verbindungspfade mit diesen Zielen unterstützt.

TryAcquireTargetsAndCreateSubstate(DisplayState, IIterable<DisplayTarget>)

Versucht, den exklusiven Besitz einer Auflistung von DisplayTarget-Objekten zu erwerben, und entfernt eine Teilmenge eines bestimmten DisplayState-Objekts nur für die an diese Methode übergebenen Ziele. Der resultierende Zustand kann geändert und angewendet werden.

TryAcquireTargetsAndReadCurrentState(IIterable<DisplayTarget>)

Versucht, den exklusiven Besitz einer Auflistung von DisplayTarget-Objekten zu erwerben, und erstellt einen änderbaren DisplayState mit dem aktuellen Status der angegebenen Ziele.

TryReadCurrentStateForAllTargets()

Erstellt ein schreibgeschütztes DisplayState-Objekt , das mit dem gesamten Systemanzeigezustand für alle Ziele aufgefüllt wird.

TryReadCurrentStateForModeQuery()

Verwaltet den Besitz eines DisplayTarget-Objekts oder -Objekts und stellt Methoden zum Erstellen von DisplayState-Objekten bereit.

Ereignisse

Changed

Ein Ereignis, das ausgelöst wird, wenn Hardware zur Systemanzeige hinzugefügt, entfernt oder geändert wird. Dies kann immer dann auftreten, wenn sich die DisplayAdapter- oder DisplayTarget-Auflistungen ändern. Verwenden Sie dieses Ereignis, um diese Änderungen zu erkennen, und rufen Sie GetCurrentAdapters und/oder GetCurrentTargets auf, um die aktualisierten Auflistungen abzurufen.

Disabled

Ein Ereignis, das ausgelöst wird, wenn der Anzeigestapel der aktuellen Sitzung deaktiviert ist und wenn DisplayManager.Stop aufgerufen wird. Sie können den Sitzungsanzeigestapel in mehreren Fällen deaktivieren, z. B. zum Wechseln von Terminaldienstesitzungen oder zur Wiederherstellung nach Treiberfehlern. Es wird empfohlen, dass Abonnenten versuchen, sauber, wenn Deaktiviert aufgerufen wird. Die meisten Anzeige-APIs schlagen fehl, während der Sitzungsanzeigestapel deaktiviert ist.

Enabled

Ein Ereignis, das ausgelöst wird, wenn der Anzeigestapel der aktuellen Sitzung aktiviert ist und displayManager.Start aufgerufen wird. Sie können den Sitzungsanzeigestapel in mehreren Fällen erneut aktivieren, z. B. zum Wechseln von Terminaldienstesitzungen oder zur Wiederherstellung nach Treiberfehlern. Es wird empfohlen, dass Abonnenten alle Ziele und Zustände in diesem Aufruf neu aufzählen, da der Systemanzeigestapel in einem beliebigen Zustand verbleiben kann, bevor dieses Ereignis ausgelöst wird.

PathsFailedOrInvalidated

Ein Ereignis, das ausgelöst wird, wenn ein Anzeigepfad vom System asynchron fehlgeschlagen oder ungültig wird. Dies kann auf geänderte Hardwarebandbreitenanforderungen oder auf Treiberfehler zurückzuführen sein.

Abonnenten dieses Ereignisses sollten TryAcquireTargetsAndReadCurrentState für Ziele aufrufen, die sie besitzen, und überprüfen, ob für einen der Pfade im resultierenden DisplayState-Objekt die Status-Eigenschaft auf FailedAsync oder InvalidatedAsync festgelegt ist, und die empfohlene Aktion ausführen.

Gilt für: