SetLastError

Aus API-Wiki
Version vom 26. Februar 2007, 16:46 Uhr von Nils Thomsen (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Die Funktion setzt den Fehlercode für die Übergabe an den aufrufenden Prozess. <PRE> Declare Sub SetLastError Lib "kernel32" Alias "SetLastError" ( _ ...)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Die Funktion setzt den Fehlercode für die Übergabe an den aufrufenden Prozess.

Declare Sub SetLastError Lib "kernel32" Alias "SetLastError" ( _
                         ByVal dwErrCode As Long)

Gewöhnlicherweise wird die Funktion SetLastError von einer DLL aufgerufen, um weitere Angaben über den Grund des Fehlschlages einer Funktion zu liefern. Ist der DLL-Funktionsaufruf erfolgreich, so wird in den meisten Fällen der Wert 0 = False zurück gegeben.


Parameter

dwErrCode [Übergabe]'

Erwartet eine gültige Fehlernummer (siehe Hinweise).


Rückgabe

Die Funktion liefert keine Rückgabe.


Hinweise

Der Fehlercode wird ein einem threadbezogenem Speicher behalten, sodass eine andere Anwendung den speziefischen Fehlercode der Rückgabe nicht überschreiben kann.

Als Fehlercode gilt ein 32-Bit Wert, wobei das Bit 31 das MSB (Most Significant Bit) darstellt. Das Bit 29 ist für anwendungsspeziefische Fehler vorbehalten und wird daher bei Fehlern, die in der Systemfehlertabelle aufgeführt sind, nicht gesetzt. Wenn daher eine anwendungsspezifische Fehlernummer übergeben werden soll, sollte das Bit gesetzt werden um einen Konflikt mit den Systemfehlercodes zu vermeiden.

Die Funktion SetLastErrorEx bietet zusätzlich noch den Paramter dwType, welcher aber ignoriert wird.