Fonction EnumDisplaySettingsExW (winuser.h)

La fonction EnumDisplaySettingsEx récupère des informations sur l’un des modes graphiques d’un périphérique d’affichage. Pour récupérer des informations pour tous les modes graphiques d’un périphérique d’affichage, effectuez une série d’appels à cette fonction.

Cette fonction diffère de EnumDisplaySettings en ce qu’il existe un paramètre dwFlags .

Note Les applications que vous concevez pour cibler Windows 8 et versions ultérieures ne peuvent plus interroger ou définir des modes d’affichage inférieurs à 32 bits par pixel (bpp) ; ces opérations échouent. Ces applications ont un manifeste de compatibilité qui cible Windows 8. Windows 8 prend toujours en charge les modes de couleur 8 bits et 16 bits pour les applications de bureau qui ont été créées sans manifeste Windows 8 ; Windows 8 émule ces modes, mais s’exécute toujours en mode couleur 32 bits.
 

Syntaxe

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

Paramètres

[in] lpszDeviceName

Pointeur vers une chaîne terminée par null qui spécifie le périphérique d’affichage sur le mode graphique auquel la fonction obtiendra des informations.

Ce paramètre est NULL ou un DISPLAY_DEVICE. DeviceName retourné par EnumDisplayDevices. Une valeur NULL spécifie l’appareil d’affichage actuel sur l’ordinateur sur lequel le thread appelant s’exécute.

[in] iModeNum

Indique le type d’informations à récupérer. Cette valeur peut être un index en mode graphique ou l’une des valeurs suivantes.

Valeur Signification
ENUM_CURRENT_SETTINGS
Récupérez les paramètres actuels de l’appareil d’affichage.
ENUM_REGISTRY_SETTINGS
Récupérez les paramètres de l’appareil d’affichage actuellement stockés dans le Registre.
 

Les index du mode graphique commencent à zéro. Pour obtenir des informations sur tous les modes graphiques d’un appareil d’affichage, effectuez une série d’appels à EnumDisplaySettingsEx, comme suit : définissez iModeNum sur zéro pour le premier appel et incrémentez iModeNum d’un pour chaque appel suivant. Continuez à appeler la fonction jusqu’à ce que la valeur de retour soit égale à zéro.

Lorsque vous appelez EnumDisplaySettingsEx avec iModeNum défini sur zéro, le système d’exploitation initialise et met en cache les informations sur l’appareil d’affichage. Lorsque vous appelez EnumDisplaySettingsEx avec iModeNum défini sur une valeur différente de zéro, la fonction retourne les informations mises en cache la dernière fois que la fonction a été appelée avec iModeNum défini sur zéro.

[out] lpDevMode

Pointeur vers une structure DEVMODE dans laquelle la fonction stocke des informations sur le mode graphique spécifié. Avant d’appeler EnumDisplaySettingsEx, définissez le membre dmSize sur sizeof (DEVMODE) et définissez le membre dmDriverExtra pour indiquer la taille, en octets, de l’espace supplémentaire disponible pour recevoir les données du pilote privé.

La fonction EnumDisplaySettingsEx remplit le membre dmFields du lpDevMode et un ou plusieurs autres membres de la structure DEVMODE . Pour déterminer quels membres ont été définis par l’appel à EnumDisplaySettingsEx, inspectez le masque de bits dmFields . Voici quelques-uns des champs généralement remplis par cette fonction :

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

[in] dwFlags

Ce paramètre peut être la valeur suivante.

Valeur Signification
EDS_RAWMODE
Si elle est définie, la fonction retourne tous les modes graphiques signalés par le pilote de l’adaptateur, quelles que soient les fonctionnalités du moniteur. Sinon, il retourne uniquement les modes compatibles avec les moniteurs actuels.
EDS_ROTATEDMODE
Si elle est définie, la fonction retourne les modes graphiques dans toutes les orientations. Sinon, il retourne uniquement les modes qui ont la même orientation que celui actuellement défini pour l’affichage demandé.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Remarques

La fonction échoue si iModeNum est supérieur à l’index du dernier mode graphique de l’appareil d’affichage. Comme indiqué dans la description du paramètre iModeNum , vous pouvez utiliser ce comportement pour énumérer tous les modes graphiques d’un périphérique d’affichage.

Virtualisation DPI

Cette API ne participe pas à la virtualisation DPI. La sortie donnée est toujours en termes de pixels physiques et n’est pas liée au contexte appelant.

Notes

L’en-tête winuser.h définit EnumDisplaySettingsEx comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Fonctions de contexte d’appareil

Vue d’ensemble des contextes d’appareil

EnumDisplayDevices

EnumDisplaySettings