GetLastError-Funktion (errhandlingapi.h)
Ruft den Codewert des letzten Fehlers des aufrufenden Threads ab. Der Code des letzten Fehlers wird auf Threadbasis verwaltet. Mehrere Threads überschreiben sich nicht gegenseitig den Code des letzten Fehlers.
Visual Basic: Anwendungen sollten fehlerr aufrufen. LastDllError anstelle von GetLastError.
Syntax
_Post_equals_last_error_ DWORD GetLastError();
Rückgabewert
Der Rückgabewert ist der letzte Fehlercode des aufrufenden Threads.
Im Abschnitt Rückgabewert der Dokumentation für jede Funktion, die den Code für den letzten Fehler festlegt, werden die Bedingungen notiert, unter denen die Funktion den Letzten Fehlercode festlegt. Die meisten Funktionen, die den Letzten Fehlercode des Threads festlegen, legen ihn fest, wenn sie fehlschlagen. Einige Funktionen legen jedoch auch den letzten Fehlercode fest, wenn sie erfolgreich sind. Wenn die Funktion nicht dokumentiert ist, um den Code des letzten Fehlers festzulegen, ist der von dieser Funktion zurückgegebene Wert einfach der letzte Fehlercode, der festgelegt wurde. Einige Funktionen legen den Code des letzten Fehlers bei Erfolg auf 0 fest, andere nicht.
Hinweise
Funktionen, die vom aufrufenden Thread ausgeführt werden, legen diesen Wert durch Aufrufen der SetLastError-Funktion fest. Sie sollten die GetLastError-Funktion sofort aufrufen, wenn der Rückgabewert einer Funktion angibt, dass ein solcher Aufruf nützliche Daten zurückgibt. Das liegt daran, dass einige Funktionen SetLastError mit einer Null aufrufen, wenn sie erfolgreich sind, und löschen den Fehlercode, der von der zuletzt fehlgeschlagenen Funktion festgelegt wurde.
Verwenden Sie die FormatMessage-Funktion , um eine Fehlerzeichenfolge für Systemfehlercodes abzurufen. Eine vollständige Liste der vom Betriebssystem bereitgestellten Fehlercodes finden Sie unter Systemfehlercodes.
Die von einer Funktion zurückgegebenen Fehlercodes sind nicht Teil der Windows-API-Spezifikation und können je nach Betriebssystem oder Gerätetreiber variieren. Aus diesem Grund können wir nicht die vollständige Liste der Fehlercodes bereitstellen, die von jeder Funktion zurückgegeben werden können. Es gibt auch viele Funktionen, deren Dokumentation nicht einmal eine teilweise Liste von Fehlercodes enthält, die zurückgegeben werden können.
Bei Fehlercodes handelt es sich um 32-Bit-Werte, wobei Bit 31 das wichtigste Bit ist. Bit 29 ist für anwendungsdefinierte Fehlercodes reserviert. Dieses Bit ist in keinem Systemfehlercode festgelegt. Wenn Sie einen Fehlercode für Ihre Anwendung definieren, legen Sie dieses Bit auf eins fest. Dies gibt an, dass der Fehlercode von einer Anwendung definiert wurde, und stellt sicher, dass Ihr Fehlercode nicht mit vom System definierten Fehlercodes in Konflikt steht.
Um einen Systemfehler in einen HRESULT-Wert zu konvertieren, verwenden Sie das HRESULT_FROM_WIN32-Makro .
Beispiele
Ein Beispiel finden Sie unter Abrufen des Last-Error Codes.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | errhandlingapi.h (Einschließen von Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |