Freigeben über


EnumDisplaySettingsExW-Funktion (winuser.h)

Die funktion EnumDisplaySettingsEx ruft Informationen zu einem der Grafikmodi für ein Anzeigegerät ab. Um Informationen für alle Grafikmodi für ein Anzeigegerät abzurufen, führen Sie eine Reihe von Aufrufen dieser Funktion aus.

Diese Funktion unterscheidet sich von EnumDisplaySettings darin, dass ein dwFlags Parameter vorhanden ist.

Beachten Sie Apps, die Sie für Windows 8 und höher entwerfen, keine Anzeigemodi mehr abfragen oder festlegen können, die weniger als 32 Bit pro Pixel (bpp) sind; Diese Vorgänge schlagen fehl. Diese Apps verfügen über ein Kompatibilitätsmanifest für Windows 8. Windows 8 unterstützt weiterhin 8-Bit- und 16-Bit-Farbmodi für Desktop-Apps, die ohne ein Windows 8-Manifest erstellt wurden; Windows 8 emuliert diese Modi, wird jedoch weiterhin im 32-Bit-Farbmodus ausgeführt.
 

Syntax

BOOL EnumDisplaySettingsExW(
  [in]  LPCWSTR  lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEW *lpDevMode,
  [in]  DWORD    dwFlags
);

Parameter

[in] lpszDeviceName

Ein Zeiger auf eine mit Null beendete Zeichenfolge, die das Anzeigegerät angibt, über welchen Grafikmodus die Funktion Informationen abruft.

Dieser Parameter ist entweder NULL- oder ein DISPLAY_DEVICE. DeviceName von EnumDisplayDeviceszurückgegeben. Ein NULL- Wert gibt das aktuelle Anzeigegerät auf dem Computer an, auf dem der aufrufende Thread ausgeführt wird.

[in] iModeNum

Gibt den Typ der abzurufenden Informationen an. Dieser Wert kann ein Grafikmodusindex oder einer der folgenden Werte sein.

Wert Bedeutung
ENUM_CURRENT_SETTINGS
Rufen Sie die aktuellen Einstellungen für das Anzeigegerät ab.
ENUM_REGISTRY_SETTINGS
Rufen Sie die Einstellungen für das Anzeigegerät ab, das derzeit in der Registrierung gespeichert ist.
 

Grafikmodusindizes beginnen bei Null. Um Informationen für alle Grafikmodi eines Anzeigegeräts zu erhalten, führen Sie eine Reihe von Aufrufen an EnumDisplaySettingsExwie folgt aus: Legen Sie iModeNum für den ersten Aufruf auf Null fest, und erhöhen Sie iModeNum um einen für jeden nachfolgenden Aufruf. Fahren Sie mit dem Aufrufen der Funktion fort, bis der Rückgabewert null ist.

Wenn Sie EnumDisplaySettingsEx- aufrufen, wobei iModeNum auf Null festgelegt ist, initialisiert und speichert das Betriebssystem Informationen zum Anzeigegerät zwischen. Wenn Sie EnumDisplaySettingsEx- aufrufen, wobei iModeNum auf einen Wert ungleich Null festgelegt, gibt die Funktion die Informationen zurück, die beim letzten Aufruf der Funktion mit iModeNum auf Null zwischengespeichert wurden.

[out] lpDevMode

Ein Zeiger auf eine DEVMODE- Struktur, in der die Funktion Informationen zum angegebenen Grafikmodus speichert. Legen Sie vor dem Aufrufen EnumDisplaySettingsEx-das dmSize Member auf Größe von (DEVMODE-) fest, und legen Sie das dmDriverExtra-Mitglied fest, um die Größe des zusätzlichen Speicherplatzes anzugeben, der für den Empfang privater Treiberdaten verfügbar ist.

Die funktion EnumDisplaySettingsEx füllt das dmFields Member der lpDevMode und mindestens ein anderes Element der DEVMODE- Struktur auf. Um zu ermitteln, welche Member durch den Aufruf von EnumDisplaySettingsEx-festgelegt wurden, prüfen Sie die dmFields Bitmaske. Einige der Felder, die in der Regel von dieser Funktion aufgefüllt werden, umfassen:

  • dmBitsPerPel-
  • dmPelsWidth-
  • dmPelsHeight-
  • dmDisplayFlags-
  • dmDisplayFrequency
  • dmPosition-
  • dmDisplayOrientation-

[in] dwFlags

Dieser Parameter kann der folgende Wert sein.

Wert Bedeutung
EDS_RAWMODE
Wenn diese Einstellung festgelegt ist, gibt die Funktion unabhängig von den Monitorfunktionen alle vom Adaptertreiber gemeldeten Grafikmodi zurück. Andernfalls gibt sie nur Modi zurück, die mit aktuellen Monitoren kompatibel sind.
EDS_ROTATEDMODE
Bei Festlegung gibt die Funktion Grafikmodi in allen Ausrichtungen zurück. Andernfalls gibt sie nur Modi zurück, die dieselbe Ausrichtung aufweisen wie die derzeit für die angeforderte Anzeige festgelegte.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null.

Bemerkungen

Die Funktion schlägt fehl, wenn iModeNum größer als der Index des letzten Grafikmodus des Anzeigegeräts ist. Wie in der Beschreibung des iModeNum-Parameters erwähnt, können Sie dieses Verhalten verwenden, um alle Grafikmodi eines Anzeigegeräts aufzulisten.

DPI-Virtualisierung

Diese API nimmt nicht an der DPI-Virtualisierung teil. Die angegebene Ausgabe entspricht immer physischen Pixeln und ist nicht mit dem aufrufenden Kontext verknüpft.

Anmerkung

Der winuser.h-Header definiert EnumDisplaySettingsEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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

ChangeDisplaySettings

ChangeDisplaySettingsEx-

CreateDC-

CreateDesktop-

DEVMODE-

DISPLAY_DEVICE

Gerätekontextfunktionen

übersicht über Gerätekontexte

EnumDisplayDevices

EnumDisplaySettings