WSAGetLastError-Funktion (winsock.h)
Die WSAGetLastError-Funktion gibt den Fehler status für den letzten fehlgeschlagenen Windows Sockets-Vorgang zurück.
Syntax
int WSAGetLastError();
Rückgabewert
Der Rückgabewert gibt den Fehlercode für den letzten Windows Sockets-Vorgang dieses Threads an, bei dem ein Fehler aufgetreten ist.
Hinweise
Die WSAGetLastError-Funktion gibt den letzten Fehler zurück, der für den aufrufenden Thread aufgetreten ist. Wenn eine bestimmte Windows Sockets-Funktion angibt, dass ein Fehler aufgetreten ist, sollte diese Funktion sofort aufgerufen werden, um den erweiterten Fehlercode für den fehlerhaften Funktionsaufruf abzurufen. Dieser erweiterte Fehlercode kann sich vom Fehlercode unterscheiden, der aus getsockopt abgerufen wird, wenn er mit einem optname-Parameter von SO_ERROR aufgerufen wird, der socketspezifisch ist, da WSAGetLastError für alle threadspezifischen Sockets gilt.
Wenn der Rückgabewert eines Funktionsaufrufs angibt, dass fehler- oder andere relevante Daten im Fehlercode zurückgegeben wurden, sollte WSAGetLastError sofort aufgerufen werden. Dies ist erforderlich, da einige Funktionen den letzten erweiterten Fehlercode bei Erfolgreicher Ausführung auf 0 zurücksetzen und den erweiterten Fehlercode überschreiben, der von einer zuvor fehlgeschlagenen Funktion zurückgegeben wurde. Um den erweiterten Fehlercode speziell zurückzusetzen, verwenden Sie den Funktionsaufruf WSASetLastError , wobei der iError-Parameter auf 0 festgelegt ist. Eine getsockopt-Funktion , wenn sie mit einem optname-Parameter von aufgerufen wird SO_ERROR setzt auch den erweiterten Fehlercode auf Null zurück.
Die WSAGetLastError-Funktion sollte nicht verwendet werden, um beim Empfang einer asynchronen Nachricht nach einem erweiterten Fehlerwert zu suchen. In diesem Fall wird der erweiterte Fehlerwert im lParam-Parameter der Nachricht übergeben, und dieser kann sich von dem von WSAGetLastError zurückgegebenen Wert unterscheiden.
Die erweiterten Windows Sockets-Fehlercodes, die von dieser Funktion zurückgegeben werden, und die Textbeschreibung des Fehlers werden unter Windows Sockets-Fehlercodes aufgeführt. Diese Fehlercodes und eine kurze Textbeschreibung, die einem Fehlercode zugeordnet ist, werden in der Winerror.h-Headerdatei definiert. Die FormatMessage-Funktion kann verwendet werden, um die Meldungszeichenfolge für den zurückgegebenen Fehler abzurufen.
Informationen zum Behandeln von Fehlercodes beim Portieren von Socketanwendungen zu Winsock finden Sie unter Fehlercodes – errno, h_errno und WSAGetLastError.
Windows Phone 8: Diese Funktion wird für Windows Phone Store-Apps ab Windows Phone 8 unterstützt.
Windows 8.1 und Windows Server 2012 R2: Diese Funktion wird für Windows Store-Apps unter Windows 8.1, Windows Server 2012 R2 und höher unterstützt.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 8.1, Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winsock.h (Winsock2.h einschließen) |
Bibliothek | Ws2_32.lib |
DLL | Ws2_32.dll |