Condividi tramite


Funzione EnumDisplaySettingsA (winuser.h)

La funzione EnumDisplaySettings recupera informazioni su una delle modalità grafiche per un dispositivo di visualizzazione. Per recuperare informazioni per tutte le modalità grafiche di un dispositivo di visualizzazione, effettuare una serie di chiamate a questa funzione.

Nota Le app che si progettano per Windows 8 e versioni successive non possono più eseguire query o impostare modalità di visualizzazione inferiori a 32 bit per pixel (bpp); queste operazioni avranno esito negativo. Queste app hanno un manifesto di compatibilità destinato a Windows 8. Windows 8 supporta ancora le modalità colore a 8 bit e a 16 bit per le app desktop compilate senza un manifesto di Windows 8; Windows 8 emula queste modalità ma viene comunque eseguita in modalità colore a 32 bit.
 

Sintassi

BOOL EnumDisplaySettingsA(
  [in]  LPCSTR   lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEA *lpDevMode
);

Parametri

[in] lpszDeviceName

Puntatore a una stringa con terminazione Null che specifica il dispositivo di visualizzazione sulla cui modalità grafica la funzione otterrà informazioni.

Questo parametro è NULL o un DISPLAY_DEVICE. DeviceName restituito da EnumDisplayDevices. Un valore NULL specifica il dispositivo di visualizzazione corrente nel computer in cui è in esecuzione il thread chiamante.

[in] iModeNum

Tipo di informazioni da recuperare. Questo valore può essere un indice in modalità grafica o uno dei valori seguenti.

Valore Significato
ENUM_CURRENT_SETTINGS
Recuperare le impostazioni correnti per il dispositivo di visualizzazione.
ENUM_REGISTRY_SETTINGS
Recuperare le impostazioni per il dispositivo di visualizzazione attualmente archiviato nel Registro di sistema.
 

Gli indici in modalità grafica iniziano da zero. Per ottenere informazioni per tutte le modalità grafiche di un dispositivo di visualizzazione, effettuare una serie di chiamate a EnumDisplaySettings, come indicato di seguito: Impostare iModeNum su zero per la prima chiamata e incrementare iModeNum di uno per ogni chiamata successiva. Continuare a chiamare la funzione fino a quando il valore restituito non è zero.

Quando chiami EnumDisplaySettings con iModeNum impostato su zero, il sistema operativo inizializza e memorizza nella cache le informazioni sul dispositivo di visualizzazione. Quando si chiama EnumDisplaySettings con iModeNum impostato su un valore diverso da zero, la funzione restituisce le informazioni memorizzate nella cache l'ultima volta che la funzione è stata chiamata con iModeNum impostato su zero.

[out] lpDevMode

Puntatore a una struttura DEVMODE in cui la funzione archivia informazioni sulla modalità grafica specificata. Prima di chiamare EnumDisplaySettings, impostare il membro sizeof(DEVMODE)dmSize su e impostare il membro dmDriverExtra per indicare le dimensioni, in byte, dello spazio aggiuntivo disponibile per ricevere i dati del driver privato.

La funzione EnumDisplaySettings imposta i valori per i cinque membri DEVMODE seguenti:

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency

Valore restituito

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

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

La funzione ha esito negativo se iModeNum è maggiore dell'indice dell'ultima modalità grafica del dispositivo di visualizzazione. Come indicato nella descrizione del parametro iModeNum , è possibile usare questo comportamento per enumerare tutte le modalità grafiche di un dispositivo di visualizzazione.

Virtualizzazione DPI

Questa API non partecipa alla virtualizzazione DPI. L'output specificato è sempre in termini di pixel fisici e non è correlato al contesto chiamante.

Nota

L'intestazione winuser.h definisce EnumDisplaySettings 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
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-0 (introdotto in Windows 8)

Vedi anche

ChangeDisplaySettings

Changedisplaysettingsex

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Funzioni del contesto di dispositivo

Panoramica dei contesti di dispositivo

EnumDisplayDevices