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 per la 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 rilevate dal callback verranno passate ai gestori di eccezioni di livello superiore dell'applicazione, se disponibili. Il sistema chiama quindi il filtro eccezioni non gestito per gestire l'eccezione prima di terminare il processo. Se il PCA è abilitato, offrirà 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 rilevate 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 rilevate.

Tipo di comportamento Modalità di gestione delle eccezioni non rilevate dal sistema
1 Il sistema elimina eventuali eccezioni non rilevate.
2 Il sistema termina prima il processo e quindi l'Assistente compatibilità programmi (PCA) offre per correggerlo alla successiva esecuzione dell'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 rilevate quando esce dall'ambito di callback, senza richiamare i gestori associati.

La tabella seguente illustra come una versione a 64 bit del sistema operativo Windows e WOW64 gestisce le eccezioni non rilevate. 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 delle eccezioni non gestito per gestire l'eccezione prima di terminare il processo. Se l'Assistente compatibilità programmi (PCA) è abilitato, offrirà di risolvere il problema alla successiva esecuzione dell'applicazione.

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

Requisiti

   
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