Compartilhar via


Função EnumDisplaySettingsExA (winuser.h)

A função EnumDisplaySettingsEx recupera informações sobre um dos modos gráficos de um dispositivo de exibição. Para recuperar informações de todos os modos gráficos de um dispositivo de exibição, faça uma série de chamadas para essa função.

Essa função difere de EnumDisplaySettings em que há um parâmetro dwFlags.

Observação Aplicativos que você projeta para o Windows 8 e posterior não pode mais consultar ou definir modos de exibição com menos de 32 bits por pixel (bpp); essas operações falharão. Esses aplicativos têm um manifesto de compatibilidade direcionado ao Windows 8. O Windows 8 ainda dá suporte a modos de cores de 8 e 16 bits para aplicativos da área de trabalho que foram criados sem um manifesto do Windows 8; O Windows 8 emula esses modos, mas ainda é executado no modo de cor de 32 bits.
 

Sintaxe

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

Parâmetros

[in] lpszDeviceName

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o dispositivo de exibição sobre qual modo gráfico a função obterá informações.

Esse parâmetro é NULL ou um DISPLAY_DEVICE.DeviceName retornado de EnumDisplayDevices. Um valor NULL especifica o dispositivo de exibição atual no computador no qual o thread de chamada está sendo executado.

[in] iModeNum

Indica o tipo de informação a ser recuperada. Esse valor pode ser um índice de modo gráfico ou um dos valores a seguir.

Valor Significado
ENUM_CURRENT_SETTINGS
Recupere as configurações atuais do dispositivo de exibição.
ENUM_REGISTRY_SETTINGS
Recupere as configurações do dispositivo de exibição que estão atualmente armazenados no registro.
 

Os índices do modo gráfico começam em zero. Para obter informações para todos os modos gráficos de um dispositivo de exibição, faça uma série de chamadas para EnumDisplaySettingsEx, da seguinte maneira: defina iModeNum como zero para a primeira chamada e incremente iModeNum por um para cada chamada subsequente. Continue chamando a função até que o valor retornado seja zero.

Quando você chama EnumDisplaySettingsEx com iModeNum definido como zero, o sistema operacional inicializa e armazena em cache informações sobre o dispositivo de exibição. Quando você chama EnumDisplaySettingsEx com iModeNum definido como um valor diferente de zero, a função retorna as informações que foram armazenadas em cache na última vez em que a função foi chamada com iModeNum definido como zero.

[out] lpDevMode

Um ponteiro para uma estrutura DEVMODE na qual a função armazena informações sobre o modo gráfico especificado. Antes de chamar EnumDisplaySettingsEx, defina o membro dmSize como tamanho de (DEVMODE) e defina o membro dmDriverExtra para indicar o tamanho, em bytes, do espaço adicional disponível para receber dados do driver privado.

A função EnumDisplaySettingsEx preencherá o membro dmFields do lpDevMode e um ou mais outros membros da estrutura de DEVMODE . Para determinar quais membros foram definidos pela chamada para EnumDisplaySettingsEx, inspecione o dmFields máscara de bits. Alguns dos campos normalmente preenchidos por essa função incluem:

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

[in] dwFlags

Esse parâmetro pode ser o valor a seguir.

Valor Significado
EDS_RAWMODE
Se definida, a função retornará todos os modos gráficos relatados pelo driver do adaptador, independentemente das funcionalidades do monitor. Caso contrário, ele retornará apenas os modos compatíveis com os monitores atuais.
EDS_ROTATEDMODE
Se definida, a função retornará modos gráficos em todas as orientações. Caso contrário, ele retornará apenas os modos que têm a mesma orientação que a definida atualmente para a exibição solicitada.

Valor de retorno

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero.

Observações

A função falhará se iModeNum for maior que o índice do último modo gráfico do dispositivo de exibição. Conforme observado na descrição do parâmetro iModeNum, você pode usar esse comportamento para enumerar todos os modos gráficos de um dispositivo de exibição.

Virtualização de DPI

Essa API não participa da virtualização de DPI. A saída fornecida está sempre em termos de pixels físicos e não está relacionada ao contexto de chamada.

Nota

O cabeçalho winuser.h define EnumDisplaySettingsEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winuser.h (inclua Windows.h)
biblioteca User32.lib
de DLL User32.dll
conjunto de API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (introduzido no Windows 10, versão 10.0.14393)

Consulte também

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Funções de contexto do dispositivo

Visão geral dos contextos do dispositivo

EnumDisplayDevices

EnumDisplaySettings