Funzione di callback WNDPROC (winuser.h)

Funzione di callback, definita nell'applicazione, che elabora i messaggi inviati a una finestra. Il tipo WNDPROC definisce un puntatore a questa funzione di callback. Il nome WndProc è un segnaposto per il nome della funzione definita nell'applicazione.

Sintassi

WNDPROC Wndproc;

LRESULT Wndproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Parametri

unnamedParam1

Tipo: HWND

Handle nella finestra. Questo parametro è in genere denominato hWnd.

unnamedParam2

Tipo: UINT

Messaggio. Questo parametro è in genere denominato uMsg.

Per gli elenchi dei messaggi forniti dal sistema, vedere Messaggi definiti dal sistema.

unnamedParam3

Tipo: WPARAM

Informazioni aggiuntive sui messaggi. Questo parametro è in genere denominato wParam.

Il contenuto del parametro wParam dipende dal valore del parametro uMsg .

unnamedParam4

Tipo: LPARAM

Informazioni aggiuntive sui messaggi. Questo parametro è in genere denominato lParam.

Il contenuto del parametro lParam dipende dal valore del parametro uMsg .

Valore restituito

Tipo: LRESULT

Il valore restituito è il risultato dell'elaborazione del messaggio e dipende dal messaggio inviato.

Commenti

Se l'applicazione viene eseguita in una versione a 32 bit del sistema operativo Windows, le eccezioni non eseguite dal callback verranno passate ai gestori di eccezioni di livello superiore dell'applicazione quando disponibili. Il sistema chiama quindi il filtro eccezione non gestito per gestire l'eccezione prima di terminare il processo. Se il PCA è abilitato, verrà offerto di risolvere il problema alla successiva esecuzione dell'applicazione.

Tuttavia, se l'applicazione viene eseguita in una versione a 64 bit del sistema operativo Windows o WOW64, è necessario tenere presente che un sistema operativo a 64 bit gestisce eccezioni non apprese in modo diverso in base all'architettura del processore a 64 bit, all'architettura delle eccezioni e alla convenzione di chiamata. La tabella seguente riepiloga tutti i possibili modi in cui un sistema operativo Windows a 64 bit o WOW64 gestisce le eccezioni non apprese.

Tipo di comportamento Come il sistema gestisce le eccezioni non gestite
1 Il sistema elimina eventuali eccezioni non illustrate.
2 Il sistema termina prima il processo e quindi l'Assistente compatibilità programmi (PCA) offre per correggerlo la prossima volta che si esegue l'applicazione. È possibile disabilitare la mitigazione PCA aggiungendo una sezione Compatibilità al manifesto dell'applicazione.
3 Il sistema chiama i filtri delle eccezioni ma elimina eventuali eccezioni non eseguite quando lascia l'ambito di callback, senza richiamare i gestori associati.

Nella tabella seguente viene illustrato come una versione a 64 bit del sistema operativo Windows e WOW64 gestisce le eccezioni non gestite. Si noti che il tipo di comportamento 2 si applica solo alla versione a 64 bit del sistema operativo Windows 7 e versioni successive.

Sistema operativo WOW64 Windows a 64 bit
Windows XP 3 1
Windows Server 2003 3 1
Windows Vista 3 1
Windows Vista SP1 1 1
Windows 7 e versioni successive 1 2

Nota

In Windows 7 con SP1 (32 bit, 64 bit o WOW64), il sistema chiama il filtro eccezione non gestito per gestire l'eccezione prima di terminare il processo. Se l'Assistente compatibilità programmi (PCA) è abilitato, verrà offerto di risolvere il problema alla successiva esecuzione dell'applicazione.

Se è necessario gestire le eccezioni nell'applicazione, è possibile usare la gestione delle eccezioni strutturate per farlo. Per altre informazioni su come usare la gestione delle eccezioni strutturate, vedere Gestione delle eccezioni strutturate.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione winuser.h (include windows.h)

Vedi anche