Validação de parâmetro

A maioria das funções de CRT com segurança avançado e muitas das funções preexistentes validam seus parâmetros.Isso pode incluir verificar ponteiros nulo, verificando que inteiros se encaixam em um intervalo válido ou verificando se os valores de enumeração são válidos.Quando um parâmetro inválido encontrado, o manipulador de parâmetro inválido é executado.

Rotina de manipulador de parâmetro inválido

O comportamento do tempo de execução C quando for encontrado um parâmetro inválido do é chamar o manipulador de parâmetro inválido atribuída no momento.O parâmetro inválido padrão chama Watson relatar o travamento, que faz com que o aplicativo falhar e pede ao usuário se ele deseja carregar o despejo de memória para a Microsoft para análise.No modo de depurar, um parâmetro inválido também resultados em uma declaração com falha.

Este comportamento pode ser alterado usando a função _set_invalid_parameter_handler Para conjunto o manipulador de parâmetro inválido para sua própria função. Se a função que você especificar não encerra o aplicativo de controle é devolvido para a função recebeu parâmetros inválidos e essas funções normalmente deixará de execução, retornam um código de erro e defina errno um código de erro. Em muitos casos, a errno o valor retornado e o valor são EINVAL, indicando um parâmetro inválido. Em alguns casos, um código de erro mais específico retornado, sistema autônomo EBADF para um ponteiro de arquivo inválido passado sistema autônomo um parâmetro. Para obter mais informações sobre errno, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Consulte também

Conceitos

Aprimoramentos de segurança no CRT

Referência

C em time de execução bibliotecas