2012-09-10 7 views

Antwort

5

Kurz gesagt, nein.

Ab http://msdn.microsoft.com/en-us/library/5814770t%28v=vs.100%29.aspx

Die errno Werte sind Konstanten zugewiesen im Falle verschiedenen Fehlerbedingungen errno.

ERRNO.H enthält die Definitionen der Fehlernummern. Jedoch werden nicht alle die in ERRNO.H angegebenen Definitionen in 32-Bit-Windows-Betriebssystem Systemen verwendet. Einige der Werte in ERRNO.H sind vorhanden, um Kompatibilität mit der UNIX-Familie von Betriebssystemen aufrechtzuerhalten.

Die Fehlernummern in einem 32-Bit-Windows-Betriebssystem sind eine Teilmenge von die Werte für errno in XENIX-Systemen. So ist der errno Wert nicht notwendigerweise der gleiche wie der tatsächliche Fehlercode, der von einem System Aufruf von den Windows-Betriebssystemen zurückgegeben wird. Verwenden Sie die _doserrno-Variable, die diesen Wert enthält, um auf den tatsächlichen Betriebssystemfehlercode zuzugreifen.

Natürlich können Sie Ihre eigene Funktion mit Schalter-Fällen schreiben, die Fehlercodes "übersetzen".

Sie können sehen, dass etwa 80 Fehlernummern in Windows definiert sind.

+0

Also, zumindest für die Werte, die Windows ausgibt, können Sie den Systemfehlercode erhalten, indem Sie einfach '_doserrno' überprüfen, und Sie könnten ein HRESULT mit' HRESULT_FROM_WIN32 (_doserrno) 'bekommen? Ausgezeichnet. – CBHacking

Verwandte Themen