GetLastError

Aus API-Wiki
Wechseln zu: Navigation, Suche
NOAPI.JPG Diese API-Funktion sollte nicht unter Visual Basic benutzt werden!
Weitere Hinweise finden Sie in der Beschreibung!


Liefert den Fehlercode des letzten aufgetretenen Funktionsfehlers des aufrufenden Prozesses zurück.

Declare Function GetLastError Lib "kernel32.dll" () As Long


Rückgabe

Die Funktion gibt – soweit kein Fehler aufgetreten ist – ERROR_SUCCESS zurück. Andernfalls wird der Fehlercode anhand der Systemfehler-Codes [1] zurückgegeben.


Hinweise

Für Visual Basic wird die Funktion Err.LastDLLError als Ersatz für den API-Aufruf bereitgestellt. Dies hat den Grund, dass Visual Basic selbst gebrauch von GetLastError macht und es somit zu einer Verfälschung der Fehlercodes kommen kann. Aus diesem Grunde stellt Visual Basic LastDLLError zur Verfügung, denn vom Code verursachte Fehler werden hier hinterlegt ohne dass diese vom SetLastError - Aufruf von Visual Basic verändert werden.


Sollten Sie dennoch GetLastError verwenden wollen, um über den Status eines Funktionsaufrufes Fehlerinformationen zu erhalten, so muss der Funktionsaufruf unbedingt direkt nach dem eigentlichen Funktionsaufruf stattfinden, da viele Funktionen als Rückgabe die Fehlerrückgabe per SetLastError auf ERROR_SUCCESS setzen. Dennoch ist auch der direkt anschließende Aufruf kein Garant für die Richtigkeit des Wertes, der durch GetLastError zurückgegeben wird.

Verweise

Eine ausführliche Information zu diesem Thema findet sich zudem in der deutschen MSDN [2]


Verwandte Funktion(en)

String formatieren - FormatMessage


Quellen

MSDN Englisch [3]
GetLastError ist keine VB-Funktion!