Validation de paramètre

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Les fonctions sécurisées CRT et de nombreuses fonctions préexistantes valident les paramètres. Cela peut inclure le fait d'activer les pointeurs de valeur NULL, vérifier que les entiers sont dans une plage valide, ou vérifier que les valeurs d'énumération est valide. Lorsqu'un paramètre non valide est trouvé, le gestionnaire de paramètre non valide est exécuté.

Le comportement du runtime C lorsqu'un paramètre non valide est trouvé consiste à appeler le gestionnaire actuellement affecté de paramètre non valide. Le paramètre non valide par défaut appelle les rapports d'incident Watson, ce qui entraîne l'application de suppression non ordonnées et demander à l'utilisateur qu'ils souhaitent charger le vidage sur incident à Microsoft pour l'analyse. En mode débogage, un paramètre non valide a également provoque une assertion.

Ce comportement peut être modifié à l'aide de la fonction _set_invalid_parameter_handler, _set_thread_local_invalid_parameter_handler pour définir le gestionnaire de paramètre non valide à votre propre fonction. Si la fonction que vous spécifiez ne met pas l'application, le contrôle est renvoyé à la fonction qui a reçu les paramètres non valides, et ces fonctions normalement s'arrêtent l'exécution, retournent un code d'erreur, et errno défini à un code d'erreur. Dans de nombreux cas, la valeur d'errno et la valeur de retour sont les deux EINVAL, indiquant un paramètre non valide. Dans certains cas, le code d'erreur plus spécifique est retourné, par exemple EBADF pour un mauvais pointeur de fichier transmis en tant que paramètre. Pour plus d'informations sur errno, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

Fonctionnalités de sécurité dans le CRT
Fonctions de bibliothèque CRT

Afficher: