Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fonction de rappel, que vous définissez dans votre application, qui traite les messages envoyés à une fenêtre. Le type WNDPROC définit un pointeur vers cette fonction de rappel. Le nom WndProc est un espace réservé pour le nom de la fonction que vous définissez dans votre application.
Syntaxe
WNDPROC Wndproc;
LRESULT Wndproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
Paramètres
unnamedParam1
Type : HWND
Handle vers la fenêtre. Ce paramètre est généralement nommé hWnd.
unnamedParam2
Type : UINT
Message. Ce paramètre est généralement nommé uMsg.
Pour obtenir des listes des messages fournis par le système, consultez les messages définis par le système.
unnamedParam3
Type : WPARAM
Informations supplémentaires sur les messages. Ce paramètre est généralement nommé wParam.
Le contenu du paramètre wParam dépend de la valeur du paramètre uMsg .
unnamedParam4
Type : LPARAM
Informations supplémentaires sur les messages. Ce paramètre est généralement nommé lParam.
Le contenu du paramètre lParam dépend de la valeur du paramètre uMsg .
Valeur retournée
Type : LRESULT
La valeur de retour est le résultat du traitement du message et dépend du message envoyé.
Remarques
Note
Les paramètres sont définis dans l’en-tête sans nom : typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);. Par conséquent, le bloc de syntaxe les répertorie comme unnamedParam1 - unnamedParam4. Vous pouvez nommer ces paramètres dans votre application. Toutefois, elles sont généralement nommées comme indiqué dans les descriptions des paramètres. Les modèles de projet Visual Studio utilisent ces noms (ou quelque chose de similaire, selon le modèle).
Si votre application s’exécute sur une version 32 bits du système d’exploitation Windows, les exceptions non interceptées du rappel sont transmises aux gestionnaires d’exceptions de niveau supérieur de votre application lorsqu’elles sont disponibles. Le système appelle ensuite le filtre d’exception non géré pour gérer l’exception avant de terminer le processus. Si le PCA est activé, il offre de résoudre le problème la prochaine fois que vous exécutez l’application.
Toutefois, si votre application s’exécute sur une version 64 bits du système d’exploitation Windows ou WOW64, vous devez savoir qu’un système d’exploitation 64 bits gère les exceptions non interceptée différemment en fonction de son architecture de processeur 64 bits, de son architecture d’exception et de sa convention d’appel. Le tableau suivant récapitule toutes les façons possibles dont un système d’exploitation Windows 64 bits ou WOW64 gère les exceptions non interceptables.
| Type de comportement | Comment le système gère les exceptions non prises en charge |
|---|---|
| 1 | Le système supprime toutes les exceptions non interceptés. |
| 2 | Le système termine d’abord le processus, puis l’Assistant Compatibilité du programme (PCA) propose de le corriger la prochaine fois que vous exécutez l’application. Vous pouvez désactiver l’atténuation PCA en ajoutant une section Compatibilité au manifeste de l’application. |
| 3 | Le système appelle les filtres d’exceptions, mais supprime les exceptions non interceptés lorsqu’il quitte l’étendue de rappel, sans appeler les gestionnaires associés. |
Le tableau suivant montre comment une version 64 bits du système d’exploitation Windows et WOW64 gère les exceptions non interceptables. Notez que le type de comportement 2 s’applique uniquement à la version 64 bits du système d’exploitation Windows 7 et versions ultérieures.
| Système d’exploitation | WOW64 | Windows 64 bits |
|---|---|---|
| Windows XP | 3 | 1 |
| Windows Server 2003 | 3 | 1 |
| Windows Vista | 3 | 1 |
| Windows Vista SP1 | 1 | 1 |
| Windows 7 et versions ultérieures | 1 | 2 |
Note
Sur Windows 7 avec SP1 (32 bits, 64 bits ou WOW64), le système appelle le filtre d’exception non géré pour gérer l’exception avant de terminer le processus. Si l’Assistant Compatibilité du programme (PCA) est activé, il offre de résoudre le problème la prochaine fois que vous exécutez l’application.
Si vous devez gérer des exceptions dans votre application, vous pouvez utiliser la gestion structurée des exceptions pour ce faire. Pour plus d’informations sur l’utilisation de la gestion des exceptions structurées, consultez Gestion des exceptions structurées.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows 2000 Professionnel [applications de bureau uniquement] |
| Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
| Header | winuser.h (include windows.h) |