Compartilhar via


Função EnumDisplaySettingsA (winuser.h)

A função EnumDisplaySettings 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.

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

Parâmetros

[in] lpszDeviceName

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o dispositivo de exibição sobre cujo 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á em execução.

[in] iModeNum

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 EnumDisplaySettings, 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 EnumDisplaySettings com iModeNum definido como zero, o sistema operacional inicializa e armazena em cache informações sobre o dispositivo de exibição. Quando você chama EnumDisplaySettings 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 EnumDisplaySettings, defina o dmSize membro como e defina o membro dmDriverExtra para indicar o tamanho, em bytes, do espaço adicional disponível para receber dados privados do driver.

A função EnumDisplaySettings define valores para os cinco membros de DEVMODE a seguir:

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency

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 EnumDisplaySettings 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-0 (introduzido no Windows 8)

Consulte também

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Funções de contexto do dispositivo

Visão geral dos contextos do dispositivo

EnumDisplayDevices