Share via


EnumDisplaySettingsExA-Funktion (winuser.h)

Die EnumDisplaySettingsEx-Funktion 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 dadurch, dass ein dwFlags-Parameter vorhanden ist.

Hinweis Apps, die Sie für Windows 8 und höher entwerfen, können keine Anzeigemodi mehr abfragen oder festlegen, die kleiner als 32 Bits pro Pixel (bpp) sind. Bei diesen Vorgängen tritt ein Fehler auf. Diese Apps verfügen über ein Kompatibilitätsmanifest, das auf Windows 8 abzielt. Windows 8 unterstützt weiterhin 8-Bit- und 16-Bit-Farbmodi für Desktop-Apps, die ohne Windows 8 Manifest erstellt wurden. Windows 8 emuliert diese Modi, wird aber weiterhin im 32-Bit-Farbmodus ausgeführt.
 

Syntax

BOOL EnumDisplaySettingsExA(
  [in]  LPCSTR   lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEA *lpDevMode,
  [in]  DWORD    dwFlags
);

Parameter

[in] lpszDeviceName

Ein Zeiger auf eine null-beendete Zeichenfolge, die das Anzeigegerät angibt, über welchen Grafikmodus die Funktion Informationen erhält.

Dieser Parameter ist entweder NULL oder ein DISPLAY_DEVICE. DeviceName , der von EnumDisplayDevices zurückgegeben wird. 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, die derzeit in der Registrierung gespeichert sind.
 

Grafikmodusindizes beginnen bei null. Um Informationen für alle Grafikmodi eines Anzeigegeräts abzurufen, führen Sie eine Reihe von Aufrufen von EnumDisplaySettingsEx wie 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 0 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 und iModeNum auf einen Nonzero-Wert festgelegt ist, gibt die Funktion die Informationen zurück, die beim letzten Aufruf der Funktion zwischengespeichert wurden und iModeNum auf Null festgelegt wurde.

[out] lpDevMode

Ein Zeiger auf eine DEVMODE-Struktur , in der die Funktion Informationen zum angegebenen Grafikmodus speichert. Legen Sie vor dem Aufrufen von EnumDisplaySettingsEx den dmSize-Member auf sizeof (DEVMODE) fest, und legen Sie das element dmDriverExtra so fest, dass die Größe des zusätzlichen Speicherplatzes für den Empfang privater Treiberdaten in Bytes angegeben wird.

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

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

[in] dwFlags

Dieser Parameter kann der folgende Wert sein.

Wert Bedeutung
EDS_RAWMODE
Wenn festgelegt, gibt die Funktion alle vom Adaptertreiber gemeldeten Grafikmodi zurück, unabhängig von den Monitorfunktionen. Andernfalls werden nur Modi zurückgegeben, die mit aktuellen Monitoren kompatibel sind.
EDS_ROTATEDMODE
Wenn festgelegt, gibt die Funktion Grafikmodi in allen Ausrichtungen zurück. Andernfalls werden nur Modi zurückgegeben, die die gleiche Ausrichtung wie die derzeit für die angeforderte Anzeige festgelegte haben.

Rückgabewert

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

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Hinweise

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 ist nicht an der DPI-Virtualisierung beteiligt. Die angegebene Ausgabe bezieht sich immer auf physische Pixel und steht nicht im Zusammenhang mit dem aufrufenden Kontext.

Hinweis

Der winuser.h-Header definiert EnumDisplaySettingsEx 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)

Weitere Informationen

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Gerätekontextfunktionen

Übersicht über Gerätekontexte

EnumDisplayDevices

EnumDisplaySettings