Parametervalidierung
Die meisten der SECURITY-erhöhten CRT-Funktionen und zahlreicher der bereits vorhandene Funktionen überprüfen deren Parameter.Dies kann überprüft werden, NULL für Zeiger Sie sicher, dass ganzen Zahlen in einen gültigen Bereichs liegen oder Überprüfung einschließen, dass Enumerationswerte gültig sind.Wenn ein ungültiger Parameter gefunden wird, wird der Handler ausgeführt. ungültige Parameter
Ungültige Parameter-Handler-Routine
Das Verhalten der C-Laufzeit, wenn ein ungültiger Parameter vorhanden ist, besteht darin, den aktuell zugewiesenen ungültigen Parameter Klassenhandler aufzurufen.Die standardmäßige ungültige Parameter aufgerufen wird Watson-Absturz berichterstellung Absturz verursacht, die die Anwendung und der Benutzer gefragt werden, ob sie das Absturzabbild Microsoft für die Analyse laden möchten.Im Debugmodus wird ein ungültiger Parameter auch ein Assertionsfehler.
Dieses Verhalten kann geändert werden, indem die Funktion _set_invalid_parameter_handler verwendet, um den ungültigen Parameter zur eigenen Klassenhandler Funktion festzulegen.Wenn die Funktion angegebene die Anwendung nicht beendet, wird die Steuerung an die Funktion, die empfangen hat, die ungültige Parameter zurückgegeben. Diese Funktionen geben bei Ausführung überwachen normalerweise einen Fehlercode und errno Menge an einen Fehlercode zurück.In vielen Fällen sind die errno-Wert und der Rückgabewert der EINVALund geben ein ungültiger Parameter angegeben.In einigen Fällen wird ein bestimmterer Fehlercode, wie EBADF für einen ungültigen Dateizeiger zurückgegeben, der als Parameter übergeben wird.Weitere Informationen zu errno finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.