Condividi tramite


Funzione EnumDisplayDevicesA (winuser.h)

La funzione EnumDisplayDevices consente di ottenere informazioni sui dispositivi visualizzati 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 le schede di visualizzazione nel computer, in base a iDevNum.

Per altre informazioni, vedere la sezione Osservazioni.

[in] iDevNum

Valore di indice che specifica il dispositivo visualizzato di interesse.

Il sistema operativo identifica ogni dispositivo visualizzato nella sessione corrente con un valore di indice. I valori di indice sono 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 visualizzato 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 a ogni monitoraggio. Il valore viene inserito nel membro DeviceID della struttura DISPLAY_DEVICE restituita in lpDisplayDevice. Il nome dell'interfaccia del dispositivo risultante può essere usato con le funzioni SetupAPI e funge da collegamento tra i dispositivi di monitoraggio GDI e i 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.

Commenti

Per eseguire query su tutti i dispositivi visualizzati 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 visualizzati nel desktop, usare solo i dispositivi visualizzati con il flag di 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'adapter.

Per ottenere informazioni su un monitor visualizzato, 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 per aumentare fino a quando la funzione non riesce. Si noti che DISPLAY_DEVICE. DeviceName cambia con ogni chiamata per le informazioni di monitoraggio, quindi è necessario salvare il nome dell'adattatore. La funzione non riesce quando non sono presenti più monitor 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (introdotta in Windows 10, versione 10.0.14393)

Vedi anche

ChangeDisplaySettings

Changedisplaysettingsex

CreateDC

DEVMODE

DISPLAY_DEVICE

Funzioni del contesto del dispositivo

Panoramica dei contesti del dispositivo

EnumDisplaySettings