Partager via


Fonction EnumDisplaySettingsA (winuser.h)

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

Remarque 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 EnumDisplaySettingsA(
  [in]  LPCSTR   lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEA *lpDevMode
);

Paramètres

[in] lpszDeviceName

Pointeur vers une chaîne terminée par null qui spécifie l’appareil d’affichage sur lequel le mode graphique de la fonction obtient 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 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 de l’appareil d’affichage actuellement stockés dans le Registre.
 

Les index en mode graphique commencent à zéro. Pour obtenir des informations pour tous les modes graphiques d’un appareil d’affichage, effectuez une série d’appels à EnumDisplaySettings, comme suit : Définissez iModeNum sur zéro pour le premier appel, puis incrémentez iModeNum par 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 sur l’appareil 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), puis définissez le membre dmDriverExtra pour indiquer la taille, en octets, de l’espace supplémentaire disponible pour recevoir des données de pilote privé.

La fonction EnumDisplaySettings définit les valeurs des cinq membres DEVMODE suivants :

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency

Valeur de retour

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 appareil d’affichage.

virtualisation d'ppp

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.

Note

L’en-tête winuser.h définit EnumDisplaySettings comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include 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 d’appareil

Vue d’ensemble des contextes d’appareil

EnumDisplayDevices