Condividi tramite


Funzione EnumDisplayDevicesA (winuser.h)

La funzione EnumDisplayDevices consente di ottenere informazioni sui dispositivi di visualizzazione nella sessione corrente.

Sintassi

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

Parametri

[in] lpDevice

Puntatore al nome del dispositivo. Se NULL, la funzione restituisce informazioni per gli adattatori di visualizzazione nel computer, in base a iDevNum.

Per altre informazioni, vedere Osservazioni.

[in] iDevNum

Valore di indice che specifica il dispositivo di visualizzazione di interesse.

Il sistema operativo identifica ogni dispositivo di visualizzazione nella sessione corrente con un valore di indice. I valori di indice sono numeri interi consecutivi, a partire da 0. Se la sessione corrente include tre dispositivi di visualizzazione, ad esempio, vengono specificati dai valori di indice 0, 1 e 2.

[out] lpDisplayDevice

Puntatore a una struttura DISPLAY_DEVICE che riceve informazioni sul dispositivo di visualizzazione specificato da iDevNum.

Prima di chiamare EnumDisplayDevices, è necessario inizializzare il membro cb di DISPLAY_DEVICE alle dimensioni, in byte, di DISPLAY_DEVICE.

[in] dwFlags

Impostare questo flag su EDD_GET_DEVICE_INTERFACE_NAME (0x00000001) per recuperare il nome dell'interfaccia del dispositivo per GUID_DEVINTERFACE_MONITOR, registrato dal sistema operativo in base al monitoraggio. Il valore viene inserito nel membro DeviceID della struttura DISPLAY_DEVICE restituito in lpDisplayDevice. Il nome dell'interfaccia del dispositivo risultante può essere usato con funzioni SetupAPI e funge da collegamento tra dispositivi di monitoraggio GDI e dispositivi di monitoraggio SetupAPI.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. La funzione ha esito negativo se iDevNum è maggiore dell'indice del dispositivo più grande.

Osservazioni

Per eseguire query su tutti i dispositivi di visualizzazione nella sessione corrente, chiamare questa funzione in un ciclo, a partire da iDevNum impostata su 0 e incrementando iDevNum fino a quando la funzione non riesce. Per selezionare tutti i dispositivi di visualizzazione nel desktop, usare solo i dispositivi di visualizzazione con il flag DISPLAY_DEVICE_ATTACHED_TO_DESKTOP nella struttura DISPLAY_DEVICE.

Per ottenere informazioni sulla scheda di visualizzazione, chiamare EnumDisplayDevices con lpDevice impostato su NULL. Ad esempio, DISPLAY_DEVICE. DeviceString contiene il nome dell'adattatore.

Per ottenere informazioni su un monitor di visualizzazione, chiamare prima EnumDisplayDevices con lpDevice impostato su NULL. Chiamare quindi EnumDisplayDevices con lpDevice impostato su DISPLAY_DEVICE. DeviceName dalla prima chiamata a EnumDisplayDevices e con iDevNum impostato su zero. Quindi DISPLAY_DEVICE.DeviceString è il nome del monitoraggio.

Per eseguire query su tutti i dispositivi di monitoraggio associati a un adattatore, chiamare EnumDisplayDevices in un ciclo con lpDevice impostato sul nome dell'adattatore, iDevNum impostato su 0 e iDevNum impostato su incrementa fino a quando la funzione non riesce. Si noti che DISPLAY_DEVICE. DeviceName modifiche con ogni chiamata per le informazioni di monitoraggio, quindi è necessario salvare il nome dell'adattatore. La funzione ha esito negativo quando non sono presenti più monitoraggi per l'adattatore.

Nota

L'intestazione winuser.h definisce EnumDisplayDevices come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winuser.h (include Windows.h)
libreria User32.lib
dll User32.dll
set di API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (introdotto in Windows 10, versione 10.0.14393)

Vedere anche

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

DEVMODE

DISPLAY_DEVICE

funzioni del contesto di dispositivo

Panoramica dei contesti di dispositivo

EnumDisplaySettings