EnumDisplayDevicesA-Funktion (winuser.h)
Mit der Funktion EnumDisplayDevices können Sie Informationen zu den Anzeigegeräten in der aktuellen Sitzung abrufen.
Syntax
BOOL EnumDisplayDevicesA(
[in] LPCSTR lpDevice,
[in] DWORD iDevNum,
[out] PDISPLAY_DEVICEA lpDisplayDevice,
[in] DWORD dwFlags
);
Parameter
[in] lpDevice
Ein Zeiger auf den Gerätenamen. Bei NULL gibt die Funktion basierend auf iDevNum Informationen für die Grafikkarten auf dem Computer zurück.
Weitere Informationen finden Sie in den Hinweisen.
[in] iDevNum
Ein Indexwert, der das interessante Anzeigegerät angibt.
Das Betriebssystem identifiziert jedes Anzeigegerät in der aktuellen Sitzung mit einem Indexwert. Bei den Indexwerten handelt es sich um aufeinanderfolgende ganze Zahlen, die bei 0 beginnen. Wenn die aktuelle Sitzung z. B. über drei Anzeigegeräte verfügt, werden diese durch die Indexwerte 0, 1 und 2 angegeben.
[out] lpDisplayDevice
Ein Zeiger auf eine DISPLAY_DEVICE Struktur, die Informationen über das von iDevNum angegebene Anzeigegerät empfängt.
Bevor Sie EnumDisplayDevices aufrufen, müssen Sie das cb-Element von DISPLAY_DEVICE auf die Größe (in Bytes) von DISPLAY_DEVICE initialisieren.
[in] dwFlags
Legen Sie dieses Flag auf EDD_GET_DEVICE_INTERFACE_NAME (0x00000001) fest, um den Geräteschnittstellennamen für GUID_DEVINTERFACE_MONITOR abzurufen, der vom Betriebssystem auf Monitorbasis registriert wird. Der Wert wird im DeviceID-Member der DISPLAY_DEVICE-Struktur platziert, die in lpDisplayDevice zurückgegeben wird. Der resultierende Geräteschnittstellenname kann mit SetupAPI-Funktionen verwendet werden und dient als Bindeglied zwischen GDI-Monitorgeräten und SetupAPI-Monitorgeräten.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Die Funktion schlägt fehl, wenn iDevNum größer als der größte Geräteindex ist.
Hinweise
Um alle Anzeigegeräte in der aktuellen Sitzung abzufragen, rufen Sie diese Funktion in einer Schleife auf, beginnend mit dem Festlegen von iDevNum auf 0, und erhöhen Sie iDevNum , bis die Funktion fehlschlägt. Um alle Anzeigegeräte auf dem Desktop auszuwählen, verwenden Sie nur die Anzeigegeräte, die das DISPLAY_DEVICE_ATTACHED_TO_DESKTOP-Flag in der DISPLAY_DEVICE Struktur aufweisen.
Rufen Sie EnumDisplayDevices auf, um Informationen zum Anzeigeadapter abzurufen, wobei lpDevice auf NULL festgelegt ist. Beispiel: DISPLAY_DEVICE. DeviceString enthält den Adapternamen.
Um Informationen zu einem Anzeigemonitor abzurufen, rufen Sie zuerst EnumDisplayDevices auf , wobei lpDevice auf NULL festgelegt ist. Rufen Sie dann EnumDisplayDevices auf , wobei lpDevice auf DISPLAY_DEVICE festgelegt ist. DeviceName ab dem ersten Aufruf von EnumDisplayDevices und mit festgelegtem iDevNum auf Null. 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 start bei 0 und iDevNum auf Inkrement festgelegt ist, bis die Funktion fehlschlägt. Beachten Sie, dass DISPLAY_DEVICE. DeviceName ändert sich mit jedem Aufruf für Monitorinformationen. Daher müssen Sie den Adapternamen speichern. Die Funktion schlägt fehl, wenn keine Monitore mehr für den Adapter vorhanden sind.
Hinweis
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 nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (einschließlich Windows.h) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393) |