Validación de parámetros

La mayoría de CRT con seguridad mejorada funciona y muchas de las funciones preexistentes validan sus parámetros.Esto podría incluir comprobar los punteros para NULL, comprobar que los enteros por primera vez en un intervalo válido, o el comprobar que los valores de enumeración es válido.Cuando se encuentra un parámetro no válido, se ejecuta el controlador no válido del parámetro.

Rutina no válida del controlador de parámetro

El comportamiento en tiempo de ejecución de C cuando se encuentra un parámetro no válido es llamar al controlador no válido actualmente asignado del parámetro.El parámetro no válido predeterminado invoca informes de bloqueo de Watson, que hace que la aplicación que se bloquee y pregunta al usuario si se desea cargar el volcado de memoria a Microsoft para el análisis.En modo de depuración, un parámetro no válido también da lugar a un error de aserción.

Este comportamiento se puede cambiar mediante la función _set_invalid_parameter_handler para establecer el controlador no válido de parámetro a la propia función.Si la función especificada no finaliza la aplicación, el control se devuelve a la función que recibió parámetros no válidos, y estas funciones cesarán la ejecución, devuelven normalmente un código de error, y errno establece un código de error.En muchos casos, el valor de errno y el valor devuelto son ambos EINVAL, que indica un parámetro no válido.En algunos casos, un código de error más específico se devuelve, por ejemplo EBADF para un puntero de archivo dañado pasado como parámetro.Para obtener más información sobre errno, vea errno, _doserrno, _sys_errlist, y _sys_nerr.

Vea también

Referencia

Características de la biblioteca CRT

Conceptos

Características de seguridad en CRT