EnumDisplaySettingsA function (winuser.h)
The EnumDisplaySettings function retrieves information about one of the graphics modes for a display device. To retrieve information for all the graphics modes of a display device, make a series of calls to this function.
Syntax
BOOL EnumDisplaySettingsA(
[in] LPCSTR lpszDeviceName,
[in] DWORD iModeNum,
[out] DEVMODEA *lpDevMode
);
Parameters
[in] lpszDeviceName
A pointer to a null-terminated string that specifies the display device about whose graphics mode the function will obtain information.
This parameter is either NULL or a DISPLAY_DEVICE.DeviceName returned from EnumDisplayDevices. A NULL value specifies the current display device on the computer on which the calling thread is running.
[in] iModeNum
The type of information to be retrieved. This value can be a graphics mode index or one of the following values.
Graphics mode indexes start at zero. To obtain information for all of a display device's graphics modes, make a series of calls to EnumDisplaySettings, as follows: Set iModeNum to zero for the first call, and increment iModeNum by one for each subsequent call. Continue calling the function until the return value is zero.
When you call EnumDisplaySettings with iModeNum set to zero, the operating system initializes and caches information about the display device. When you call EnumDisplaySettings with iModeNum set to a nonzero value, the function returns the information that was cached the last time the function was called with iModeNum set to zero.
[out] lpDevMode
A pointer to a DEVMODE structure into which the function stores information about the specified graphics mode. Before calling EnumDisplaySettings, set the dmSize member to sizeof(DEVMODE)
, and set the dmDriverExtra member to indicate the size, in bytes, of the additional space available to receive private driver data.
The EnumDisplaySettings function sets values for the following five DEVMODE members:
- dmBitsPerPel
- dmPelsWidth
- dmPelsHeight
- dmDisplayFlags
- dmDisplayFrequency
Return value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Remarks
The function fails if iModeNum is greater than the index of the display device's last graphics mode. As noted in the description of the iModeNum parameter, you can use this behavior to enumerate all of a display device's graphics modes.
DPI Virtualization
This API does not participate in DPI virtualization. The output given is always in terms of physical pixels, and is not related to the calling context.Note
The winuser.h header defines EnumDisplaySettings as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | winuser.h (include Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API set | ext-ms-win-ntuser-sysparams-ext-l1-1-0 (introduced in Windows 8) |