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 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 de 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_DEVICE retornada no 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 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. A função falhará se iDevNum for maior que o maior índice de dispositivo.

Observações

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 em um monitor de exibição, primeira chamada 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. Em seguida, 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 alterações com cada chamada para obter informações de monitor, portanto, você deve salvar o nome do adaptador. A função falha quando não há mais monitores para o adaptador.

Nota

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 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

DEVMODE

DISPLAY_DEVICE

Funções de contexto do dispositivo

Visão geral dos contextos do dispositivo

EnumDisplaySettings