Parametervalidierung

Die meisten der Sicherheit-erhöhten CRT-Funktionen und vieler der bereits vorhandenen Funktionen überprüfen deren Parameter. Dies kann Überprüfungszeiger für NULL, Überprüfung, dass ganze Zahlen in einem gültigen Bereich ab, oder Überprüfungen einschließen, ob Enumerationswerte gültig sind. Wenn ein ungültiger Parameter gefunden wird, wird der ungültige Parameterhandler ausgeführt.

Ungültige Parameter-Handler-Routine

Das Verhalten der C-Laufzeit kompiliert, wenn ein ungültiger Parameter gefunden wird, ist, die derzeit zugewiesenen ungültigen Parameterhandler aufzurufen. Die Parameteraufrufe Watson-Absturzberichterstellung standardmäßigen ungültige, die die Anwendung durch den Benutzer sogar abstürzt und fragt, ob er das Absturzabbild an Microsoft für die Analyse geladen werden möchten. Im Debugmodus wird ein ungültiger Parameter auch eine Assertionsmeldung aus.

Dieses Verhalten kann geändert werden, indem die Funktion _set_invalid_parameter_handler verwendet, um den ungültigen Parameterhandler auf die eigene Funktion festzulegen. Wenn die Funktion, die Sie angeben, nicht die Anwendung beendet, Steuerelement wird an die Funktion, die erhalten hat, die ungültige Parameter zurückgegeben, und diese Funktionen normalerweise überwachen Ausführung auf, geben einem Fehlercode und festgelegtem errno zu einem Fehlercode zurück. In vielen Fällen sind der errno-Wert und der Rückgabewert sowohl EINVAL und geben ein ungültiger Parameter an. In einigen Fällen wird ein Fehlercode die spezifischen, wie EBADF für einen ungültigen Dateizeiger zurückgegeben, der die als Parameter übergeben wird. Weitere Informationen über errno, finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.

Siehe auch

Referenz

CRT-Bibliotheksfunktionen

Konzepte

Sicherheitsfunktionen in der CRT