Compartilhar via


Função EnumDisplayDevicesA (winuser.h)

A função EnumDisplayDevices permite obter informações sobre os dispositivos de exibição na sessão atual.

Sintaxe

BOOL EnumDisplayDevicesA(
  [in]  LPCSTR           lpDevice,
  [in]  DWORD            iDevNum,
  [out] PDISPLAY_DEVICEA lpDisplayDevice,
  [in]  DWORD            dwFlags
);

Parâmetros

[in] lpDevice

Um ponteiro para o nome do dispositivo. Se FOR NULL, a função retornará informações para os adaptadores de exibição no computador, com base em iDevNum.

Para obter mais informações, consulte Comentários.

[in] iDevNum

Um valor de índice que especifica o dispositivo de exibição de interesse.

O sistema operacional identifica cada dispositivo de exibição na sessão atual com um valor de índice. Os valores de índice são inteiros consecutivos, começando em 0. Se a sessão atual tiver três dispositivos de exibição, por exemplo, eles serão especificados pelos valores de índice 0, 1 e 2.

[out] lpDisplayDevice

Um ponteiro para uma estrutura DISPLAY_DEVICE que recebe informações sobre o dispositivo de exibição especificado por iDevNum.

Antes de chamar EnumDisplayDevices, você deve inicializar o membro cb de DISPLAY_DEVICE para o tamanho, em bytes, de DISPLAY_DEVICE.

[in] dwFlags

Defina esse sinalizador como EDD_GET_DEVICE_INTERFACE_NAME (0x00000001) para recuperar o nome da interface do dispositivo para GUID_DEVINTERFACE_MONITOR, que é registrado pelo sistema operacional por monitor. O valor é colocado no membro DeviceID da estrutura DISPLAY_DEVICEretornada em lpDisplayDevice. O nome da interface do dispositivo resultante pode ser usado com funções SetupAPI e serve como um link entre dispositivos de monitor GDI e dispositivos de monitor SetupAPI.

Valor retornado

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

Se a função falhar, o valor retornado será zero. A função falhará se iDevNum for maior que o maior índice de dispositivo.

Comentários

Para consultar todos os dispositivos de exibição na sessão atual, chame essa função em um loop, começando com iDevNum definido como 0 e incrementando iDevNum até que a função falhe. Para selecionar todos os dispositivos de exibição na área de trabalho, use apenas os dispositivos de exibição que têm o sinalizador DISPLAY_DEVICE_ATTACHED_TO_DESKTOP na estrutura DISPLAY_DEVICE .

Para obter informações sobre o adaptador de exibição, chame EnumDisplayDevices com lpDevice definido como NULL. Por exemplo, DISPLAY_DEVICE. DeviceString contém o nome do adaptador.

Para obter informações sobre um monitor de exibição, primeiro chame EnumDisplayDevices com lpDevice definido como NULL. Em seguida, chame EnumDisplayDevices com lpDevice definido como DISPLAY_DEVICE. DeviceName da primeira chamada para EnumDisplayDevices e com iDevNum definido como zero. Então DISPLAY_DEVICE. DeviceString é o nome do monitor.

Para consultar todos os dispositivos de monitor associados a um adaptador, chame EnumDisplayDevices em um loop com lpDevice definido como o nome do adaptador, iDevNum definido para iniciar em 0 e iDevNum definido para incrementar até que a função falhe. Observe que DISPLAY_DEVICE. DeviceName é alterado com cada chamada para obter informações do monitor, portanto, você deve salvar o nome do adaptador. A função falha quando não há mais monitores para o adaptador.

Observação

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

Requisitos

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

Confira também

ChangeDisplaySettings

Changedisplaysettingsex

Createdc

DEVMODE

DISPLAY_DEVICE

Funções de contexto do dispositivo

Visão geral dos contextos do dispositivo

EnumDisplaySettings