Fonction EnumDisplaySettingsW (winuser.h)

La fonction EnumDisplaySettings 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.

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 EnumDisplaySettingsW(
  [in]  LPCWSTR  lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEW *lpDevMode
);

Paramètres

[in] lpszDeviceName

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

Ce paramètre est NULL ou un DISPLAY_DEVICE. DeviceName retourné par EnumDisplayDevices. Une valeur NULL spécifie le périphérique d’affichage actuel sur l’ordinateur sur lequel le thread appelant est en cours d’exécution.

[in] iModeNum

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 du périphérique d’affichage qui sont actuellement stockés dans le Registre.
 

Les index en mode graphique commencent à zéro. Pour obtenir des informations sur tous les modes graphiques d’un périphérique d’affichage, effectuez une série d’appels à EnumDisplaySettings, 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 EnumDisplaySettings avec iModeNum défini sur zéro, le système d’exploitation initialise et met en cache les informations relatives au périphérique d’affichage. Lorsque vous appelez EnumDisplaySettings 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 EnumDisplaySettings, 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 EnumDisplaySettings définit des valeurs pour les cinq membres DEVMODE suivants :

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency

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 du périphérique 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 PPP

Cette API ne participe pas à la virtualisation PPP. 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 EnumDisplaySettings en tant qu’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. La combinaison 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

   
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-0 (introduit dans Windows 8)

Voir aussi

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Fonctions de contexte de l’appareil

Vue d’ensemble des contextes d’appareil

EnumDisplayDevices