EnumDisplayDevicesW-Funktion (winuser.h)
Mit der funktion EnumDisplayDevices können Sie Informationen zu den Anzeigegeräten in der aktuellen Sitzung abrufen.
Syntax
BOOL EnumDisplayDevicesW(
[in] LPCWSTR lpDevice,
[in] DWORD iDevNum,
[out] PDISPLAY_DEVICEW lpDisplayDevice,
[in] DWORD dwFlags
);
Parameter
[in] lpDevice
Ein Zeiger auf den Gerätenamen. Wenn NULL-, gibt die Funktion Informationen für die Anzeigeadapter auf dem Computer basierend auf iDevNum-zurück.
Weitere Informationen finden Sie in den Hinweisen.
[in] iDevNum
Ein Indexwert, der das Anzeigegerät von Interesse angibt.
Das Betriebssystem identifiziert jedes Anzeigegerät in der aktuellen Sitzung mit einem Indexwert. Die Indexwerte sind aufeinanderfolgende ganze Zahlen, beginnend bei 0. Wenn die aktuelle Sitzung beispielsweise drei Anzeigegeräte enthält, werden sie durch die Indexwerte 0, 1 und 2 angegeben.
[out] lpDisplayDevice
Ein Zeiger auf eine DISPLAY_DEVICE Struktur, die Informationen über das anzeigegerät empfängt, das durch iDevNumangegeben wird.
Bevor Sie EnumDisplayDevicesaufrufen, müssen Sie das cb Member von DISPLAY_DEVICE in Byte von DISPLAY_DEVICEinitialisieren.
[in] dwFlags
Legen Sie dieses Kennzeichen auf EDD_GET_DEVICE_INTERFACE_NAME (0x00000001) fest, um den Geräteschnittstellennamen für GUID_DEVINTERFACE_MONITOR abzurufen, der vom Betriebssystem pro Monitor registriert wird. Der Wert wird im DeviceID-Element der DISPLAY_DEVICE Struktur platziert, die in lpDisplayDevicezurückgegeben wird. Der resultierende Geräteschnittstellenname kann mit SetupAPI-Funktionen verwendet werden und dient als Verbindung zwischen GDI-Monitorgeräten und SetupAPI-Monitorgeräten.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Die Funktion schlägt fehl, wenn iDevNum- größer als der größte Geräteindex ist.
Bemerkungen
Um alle Anzeigegeräte in der aktuellen Sitzung abzufragen, rufen Sie diese Funktion in einer Schleife auf, beginnend mit iDevNum auf 0 festgelegt, und erhöhen Sie iDevNum-, bis die Funktion fehlschlägt. Wenn Sie alle Anzeigegeräte auf dem Desktop auswählen möchten, verwenden Sie nur die Anzeigegeräte mit dem DISPLAY_DEVICE_ATTACHED_TO_DESKTOP Flag in der DISPLAY_DEVICE-Struktur.
Rufen Sie EnumDisplayDevices auf, um Informationen zum Displayadapter zu erhalten, wobei lpDevice auf NULL-festgelegt ist. Beispiel: DISPLAY_DEVICE.DeviceString- enthält den Adapternamen.
Um Informationen auf einem Anzeigemonitor abzurufen, rufen Sie zuerst EnumDisplayDevices auf, wobei lpDevice auf NULL-festgelegt ist. Rufen Sie dann EnumDisplayDevices auf, wobei lpDevice auf DISPLAY_DEVICEfestgelegt ist.DeviceName aus dem ersten Aufruf von EnumDisplayDevices und mit iDevNum auf Null festgelegt. Dann DISPLAY_DEVICE.DeviceString- ist der Monitorname.
Um alle Monitorgeräte abzufragen, die einem Adapter zugeordnet sind, rufen Sie EnumDisplayDevices in einer Schleife auf, wobei lpDevice auf den Adapternamen festgelegt ist, iDevNum auf "0" festgelegt ist, und iDevNum auf "Inkrement" festgelegt ist, bis die Funktion fehlschlägt. Beachten Sie, dass DISPLAY_DEVICE. DeviceName Änderungen bei jedem Aufruf für Monitorinformationen, sodass Sie den Adapternamen speichern müssen. Die Funktion schlägt fehl, wenn es keine weiteren Monitore für den Adapter gibt.
Anmerkung
Der winuser.h-Header definiert EnumDisplayDevices als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winuser.h (enthalten Windows.h) |
Library | User32.lib |
DLL- | User32.dll |
API-Satz | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393) |
Siehe auch
übersicht über Gerätekontexte