WinSock Fehlercode Beschreibung

WSABASEERR (1000) No Error

Kein Fehler. Mindestens eine WinSock Implementation wo eine Funktion gelegentlich fehlschlägt und dies als Fehlermeldung ausgibt, auch wenn die Funktion funktioniert hat. Sie sollten diesen Fehler einfach ignorieren.

WSAEINTR (10004) Interrupted system call

 
Ein blockierender Vorgang wurde von einem WSACancelBlockingCall-Aufruf unterbrochen.

WSAEBADE (10009)  Bad file number
 
Das angegebene Dateihandle ist nicht gültig.
 
WSAEACCES (10013) Permission denied
 
Es wurde versucht, auf eine Weise auf einen Socket zuzugreifen, die nach den betreffenden Zugriffsberechtigungen untersagt ist. Ein Beispiel hierfür ist die Verwendung einer Broadcastadresse für sendto, ohne die Übertragungsberechtigung mit setsockopt(SO_BROADCAST) festgelegt zu haben.
Ein anderer möglicher Grund für den WSAEACCES-Fehler ist, dass beim Aufruf der bind-Funktion (unter Windows NT 4.0 mit SP4 und höher) eine andere Anwendung, ein Dienst oder Kernelmodustreiber mit exklusivem Zugriff an die gleiche Adresse gebunden ist. Dieser exklusive Zugriff ist eine neue Funktion von Windows NT 4.0 mit SP4 und höher und wird mit der SO_EXCLUSIVEADDRUSE-Option implementiert.
 
WSAEFAULT (10014) Bad address

Das System hat beim Versuch, ein Zeigerargument eines Aufrufs zu verwenden, eine ungültige Zeigeradresse erkannt. Dieser Fehler tritt auf, wenn eine Anwendung einen ungültigen Zeigerwert übergibt oder wenn die Länge des Puffers zu klein ist. Dies ist z. B. der Fall, wenn die Länge eines Arguments, das eine sockaddr-Struktur ist, kleiner als der Wert von sizeof(sockaddr) ist.
 
WSAEFAULT (10022) Invalid argument

Es wurde ein ungültiges Argument angegeben (z. B. der setsockopt-Funktion wurde eine ungültige Ebene übergeben). In einigen Fällen bezieht sich der Fehlercode auch auf den aktuellen Status des Sockets—z. B. ein Aufruf von accept für einen Socket, der nicht in Wartestellung ist.
 
WSAEMFILE (10024) Too many open files
 
Zu viele geöffnete Sockets. Jede Implementierung stellt möglicherweise eine maximale Anzahl von Sockethandles entweder global, pro Prozess oder pro Thread zur Verfügung.
 
WSAEWOULDBLOCK (10035) Operation would block

Dieser Fehler wird von Vorgängen auf nicht blockierenden Sockets zurückgegeben, die nicht sofort abgeschlossen werden können, z. B. von recv, wenn sich keine Daten in der Warteschlange befinden, die vom Socket gelesen werden können. Dies ist kein nicht behebbarer Fehler, und der Vorgang sollte später wiederholt werden. Bei einem Aufruf von connect für einen nicht blockierenden SOCK_STREAM-Socket ist es nicht ungewöhnlich, dass WSAEWOULDBLOCK zurückgegeben wird, da es eine gewisse Zeit dauert, bis die Verbindung eingerichtet worden ist.
 
WSAEINPROGRESS (10036) Operation now in progress
 
Ein blockierender Vorgang wird gerade ausgeführt. Windows Sockets lassen nur einen ausstehenden blockierenden Vorgang—pro Aufgabe oder Thread—zu, und wenn irgendeine andere Funktion (gleichgültig, ob sie auf diesen oder einen anderen Socket verweist) aufgerufen wird, schlägt der Funktionsaufruf mit dem WSAEINPROGRESS-Fehler fehl.
 
WSAEALREADY (10037) Operation already in progress 
 
Es wurde die Ausführung eines Vorgangs mit einem nicht blockierenden Socket versucht, mit dem bereits ein Vorgang ausgeführt wird—das heißt, ein zweiter Aufruf von connect für einen nicht blockierenden Socket, der bereits eine Verbindung herstellt, oder der Abbruch einer asynchronen Anforderung (WSAAsyncGetXbyY), die bereits abgebrochen oder abgeschlossen wurde.
 
WSAENOTSOCK (10038) Socket operation on non-socket 

Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist. Entweder hat der Sockethandleparameter nicht auf einen gültigen Socket verwiesen, oder für select war ein Member einer fd_set-Struktur nicht gültig.
 
WSAEDESTADDRREQ (10039) Destination address required 
 
Bei einem Socketvorgang fehlte eine erforderliche Adresse. Dieser Fehler wird z. B. zurückgegeben, wenn sendto mit der Remoteadresse ADDR_ANY aufgerufen wird.
 
WSAEMSGSIZE (10040) Message too long 

Eine Nachricht, die über einen Datagrammsocket gesendet wurde, war für den internen Nachrichtenpuffer oder ein anderes Netzwerklimit zu groß, oder der Puffer für den Datagrammempfang war für das Datagramm zu klein.
 
WSAEPROTOTYPE (10041) Protocol wrong type for socket 

Beim Aufruf der socket-Funktion wurde ein Protokoll angegeben, das die Semantik des angeforderten Sockettyps nicht unterstützt. Das ARPA-Internet-UDP-Protokoll kann z. B. nicht dem Sockettyp SOCK_STREAM angegeben werden.
 
WSAENOPROTOOPT (10042) Bad protocol option 

Eine unbekannte, ungültige oder nicht unterstützte Option oder Ebene wurde in einem Aufruf von getsockopt oder setsockopt angegeben
 
WSAEPROTONOSUPPORT (10043) Protocol not supported
 
Das angeforderte Protokoll wurde nicht konfiguriert, oder es ist keine Implementierung dafür vorhanden. Beispiel: Ein socket-Aufruf fordert ein SOCK_DGRAM-Socket an, gibt aber ein Datenstromprotokoll an.
 
WSAESOCKTNOSUPPORT (10044) Socket type not supported 

Diese Adressengruppe bietet keine Unterstützung für den angegebenen Sockettyp. Der optionale Typ SOCK_RAW kann z. B. in einem socket-Aufruf ausgewählt werden, obwohl die Implementierung SOCK_RAW-Sockets überhaupt nicht unterstützt.
 
WSAEOPNOTSUPP (10045) Operation not supported
 
Der Vorgang wird von dem Objekttyp nicht unterstützt, auf den Bezug genommen wurde. Normalerweise tritt dieser Fehler auf, wenn ein Socketdeskriptor für einen Socket, der diesen Vorgang nicht unterstützen kann, auf einem Datagrammsocket eine Verbindung zu akzeptieren versucht.
 
WSAEPFNOSUPPORT (10046) Protocol family not supported 
 
Die angeforderte Protokollgruppe wurde nicht konfiguriert, oder es ist keine Implementierung dafür vorhanden. Diese Meldung hat eine etwas andere Bedeutung als WSAEAFNOSUPPORT. Sie sind in den meisten Fällen jedoch gegeneinander austauschbar, und alle Windows Sockets-Funktionen, die eine dieser Meldungen zurückgeben, geben auch WSAEAFNOSUPPORT an.
 
WSAEAFNOSUPPORT (10047) Address family not supported by protocol family 

Es wurde eine mit dem angeforderten Protokoll nicht kompatible Adresse verwendet. Alle Sockets werden mit einer zugeordneten Adressfamilie (d. h. AF_INET für Internetprotokolle) und einem allgemeinen Protokolltyp (d. h. SOCK_STREAM) erstellt. Dieser Fehler wird zurückgegeben, wenn im socket-Aufruf explizit ein falsches Protokoll angefordert wird, oder wenn eine Adresse der falschen Familie z. B. in sendto für einen Socket verwendet wird.
 
WSAEADDRINUSE (10048) Address already in use 

In der Regel darf jede Socketadresse (Protokoll/IP-Adresse/Port) nur einmal verwendet werden. Dieser Fehler tritt auf, wenn eine Anwendung versucht, einen Socket mit bind an eine IP-Adresse oder einen Port zu binden, die bzw. der bereits für einen vorhandenen Socket oder einen Socket, der nicht ordnungsgemäß geschlossen wurde, oder einen Socket, dessen Schließung noch nicht abgeschlossen ist, verwendet wurde. Für Serveranwendungen, die mit bind mehrere Sockets der gleichen Portnummer zuordnen müssen, sollten Sie die Verwendung von setsockopt (SO_REUSEADDR) in Erwägung ziehen. Clientanwendungen müssen normalerweise bind überhaupt nicht aufrufen—connect wählt automatisch einen nicht verwendeten Port aus. Wenn bind mit einer Platzhalteradresse (mit ADDR_ANY) aufgerufen wird, könnte die Ausgabe eines WSAEADDRINUSE-Fehlers verzögert werden, bis ein Commit für die betreffende Adresse ausgeführt wird. Dies könnte mit einem späteren Aufruf einer anderen Funktion geschehen, einschließlich connect, listen, WSAConnectoder WSAJoinLeaf.
 
WSAEADDRNOTAVAIL (10049) Can't assign requested address 
 
Die angeforderte Adresse ist in diesem Kontext ungültig. Dieser Fehler wird normalerweise durch den Versuch verursacht, bind mit einer für den lokalen Computer nicht gültigen Adresse aufzurufen. Dieser Fehler kann auch durch connect, sendto, WSAConnect, WSAJoinLeaf oder WSASendTo verursacht werden, wenn die Remoteadresse oder der Port für einen Remotecomputer nicht gültig ist (z. B. Adresse oder Port 0).
 
WSAENETDOWN (10050) Network is down 
 
Bei einem Socketvorgang wurde festgestellt, dass das Netzwerk nicht verfügbar ist. Dies deutet auf einen schwerwiegenden Fehler entweder des Netzwerksystems (z. B. dass der Protokollstapel der Windows Sockets DLL überläuft), der Netzwerkschnittstelle oder des lokalen Netzwerks hin.
 
WSAENETUNREACH (10051) Network is unreachable
 
Ein Socketvorgang bezog sich auf ein nicht verfügbares Netzwerk. Dies bedeutet normalerweise, dass die lokale Software keine Route kennt, auf der der Remotehost erreicht wird.
 
WSAENETRESET (10052) Net dropped connection or reset
 
Der Host hatte einen Absturz oder wurde neugestartet. Bitte versuchen Sie zu einen späteren Zeitpunkt die Verbindung wieder herzustellen.
 
WSAECONNABORTED (10053) Software caused connection abort
 
Eine hergestellte Verbindung wurde von der Software im Hostcomputer abgebrochen, möglicherweise aufgrund eines Datenübermittlungstimeouts oder Protokollfehlers.
 
WSAECONNRESET (10054) Connection reset by peer 

Eine vorhandene Verbindung wurde vom Remotehost geschlossen. Normalerweise wird dieser Fehler ausgelöst, wenn die Peeranwendung auf dem Remotehost plötzlich beendet wird, der Host neu gestartet wird, der Host oder die Remotenetzwerkschnittstelle deaktiviert wird oder der Remotehost die Verbindung schließt, ohne ausstehende Aktionen zu berücksichtigen (unter setsockopt finden Sie weitere Informationen zur SO_LINGER-Option für den Remotesocket). Dieser Fehler tritt möglicherweise auch auf, wenn eine Verbindung aufgrund von Keepalive-Aktivitäten unterbrochen wurde, da während der Ausführung eines oder mehrerer Vorgänge ein Fehler erkannt wurde. Vorgänge, die noch nicht abgeschlossen worden sind, schlagen fehl und erzeugen den Fehler WSAENETRESET. Nachfolgende Vorgänge schlagen mit WSAECONNRESET fehl.
 
WSAENOBUFS (10055) No buffer space available 

Ein Socketvorgang konnte nicht ausgeführt werden, da dem System Pufferspeicher fehlte oder eine Warteschlange voll war.
 
WSAEISCONN (10056) Socket is already connected
 
Es wurde eine Verbindungsanforderung an einem bereits verbundenen Socket gesendet. Einige Implementierungen geben diesen Fehler auch zurück, wenn sendto für einen verbundenen SOCK_DGRAM-Socket aufgerufen wird (für SOCK_STREAM-Sockets wird der to-Parameter in sendto ignoriert), obwohl dies in anderen Implementierungen zulässig ist.
 
WSAENOTCONN (10057) Socket is not connected 

Eine Anforderung zum Senden oder Empfangen von Daten wurde nicht zugelassen, weil der Socket nicht verbunden ist und (beim Senden mit sendto über einen Datagrammsocket) keine Adresse angegeben wurde. Jeder beliebige andere Typ von Vorgang kann auch diesen Fehler zurückgeben—z. B. setsockopt mit der Einstellung SO_KEEPALIVE, wenn die Verbindung zurückgesetzt wurde.
 
WSAESHUTDOWN (10058) Can't send after socket shutdown
 
Eine Anforderung zum Senden oder Empfangen von Daten wurde nicht zugelassen, weil der Socket in dieser Richtung bereits durch einen vorherigen shutdown-Aufruf geschlossen worden ist. Durch den Aufruf von shutdown wird eine teilweise Schließung eines Sockets angefordert und damit signalisiert, dass das Senden oder Empfangen oder beides eingestellt wurden.
 
WSAETOOMANYREFS (10059) Too many references, can't splice 
 
Zu viele Verweise auf ein Kernelobjekt.
 
WSAETIMEDOUT (10060) Connection timed out 
 
Fehler beim Herstellen der Verbindung, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung konnte nicht aufrecht erhalten werden, da der verbundene Host nicht reagiert hat.
 
WSAECONNREFUSED (10061) Connection refused
 
Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies explizit abgelehnt hat. Dieser Fehler resultiert normalerweise aus dem Versuch, eine Verbindung mit einem Dienst herzustellen, der auf dem fremden Host inaktiv ist—das heißt, einem Dienst, für den keine Serveranwendung ausgeführt wird.
 
WSAELOOP (10062) Too many levels of symbolic links 
 
Ein Name kann nicht übersetzt werden.
 
WSAENAMETOOLONG (10063) File name too long 

Eine Namenskomponente oder ein Name war zu lang. (Maximal 255 Zeichen.)
 
WSAEHOSTDOWN (10064) Host is down 
 
Bei einem Socketvorgang ist ein Fehler aufgetreten, da der Zielhost nicht verfügbar war. Bei einem Socketvorgang wurde festgestellt, dass der Host nicht verfügbar ist. Auf einem lokalen Host wurde keine Netzwerkaktivität initiiert. Diese Bedingungen werden wahrscheinlicher durch den Fehler WSAETIMEDOUT angezeigt.
 
WSAEHOSTUNREACH (10065) No Route to Host 

Ein Socketvorgang bezog sich auf einen nicht verfügbaren Host. Nähere Informationen finden Sie unter WSAENETUNREACH.
 
WSAENOTEMPTY (10066) Directory not empty

Ein Verzeichnis, das nicht leer ist, kann nicht entfernt werden.
 
WSAEPROCLIM (10067) Too many processes 

Bei einer Windows Sockets-Implementation kann ein Limit für die Anzahl der Anwendungen bestehen, die zugleich auf diese zugreifen dürfen. WSAStartup kann mit diesem Fehler fehlschlagen, wenn dieses Limit erreicht wurde.
 
WSAEUSERS (10068) Too many users 

Kein Benutzerkontingent mehr verfügbar.
 
WSAEDQUOT (10069) Disc Quota Exceeded 

Kein Datenträgerkontingent mehr verfügbar.
 
WSAESTALE (10070) Stale file handle reference 
 
Der Dateihandleverweis ist nicht mehr verfügbar.
 
WSASYSNOTREADY (10091) Network SubSystem is unavailable 
 
Dieser Fehler wird von WSAStartup zurückgegeben, wenn die Windows Sockets-Implementierung zu diesem Zeitpunkt nicht funktionieren kann, weil das zugrunde liegende System, mit dem es Netzwerkdienste bereitstellt, nicht verfügbar ist. Benutzer sollten überprüfen:
  • Dass die entsprechende Windows Sockets-DLL-Datei im aktuellen Pfad ist.
     
  • Dass sie nicht versuchen, mehr als eine Windows Sockets-Implementierung gleichzeitig zu verwenden. Wenn mehr als eine Winsock-DLL auf dem System vorhanden ist, stellen Sie sicher, dass die erste im Pfad angegebene DLL für das aktuell geladenen Netzwerksystem geeignet ist.
     
  • Die Dokumentation der Windows Sockets-Implementierung, um sicherzustellen, dass alle notwendigen Komponenten gegenwärtig installiert und ordnungsgemäß konfiguriert sind.
WSAVERNOTSUPPORTED (10092) WINSOCK DLL Version out of range 
 
Die aktuelle Windows Sockets-Implementierung unterstützt die von der Anwendung geforderte Version der Windows Sockets-Spezifikation nicht. Stellen Sie sicher, dass auf keine alten Windows Sockets-DLL-Dateien zugegriffen wird.
 
WSANOTINITIALISED (10093) Successful WSASTARTUP not yet performed 

Entweder hat die Anwendung WSAStartup nicht aufgerufen, oder WSAStartup ist fehlgeschlagen. Die Anwendung greift möglicherweise auf einen Socket zu, den die aktuelle aktive Aufgabe nicht besitzt (das heißt, es wird versucht, einen Socket für mehrere Aufgaben gemeinsam zu nutzen), oder WSACleanup wurde zu oft aufgerufen.
 
WSAEREMOTE (10071) Too many levels of remote in path
 
Das Element ist nicht lokal verfügbar.
 
WSAHOST_NOT_FOUND (11001) Host not found 

Der angegebene Host ist unbekannt. Der Name ist kein offizieller Hostname oder Alias, oder er befindet sich nicht in der Datenbank bzw. den Datenbanken, die abgefragt wird/werden. Dieser Fehler kann auch für Protokoll- und Dienstabfragen zurückgegeben werden und bedeutet, dass der angegebene Name nicht in der betreffenden Datenbank gefunden werden konnte.
 
WSATRY_AGAIN (11002) Non-Authoritative Host not found 

Dies ist normalerweise ein temporärer Fehler während der Hostnamenauflösung, der bedeutet, dass der lokale Server keine Antwort von einem autoritativen Server empfangen hat. Eine Wiederholung zu einem späteren Zeitpunkt ist möglicherweise erfolgreich.
 
WSANO_RECOVERY (11003) Non-Recoverable errors: FORMERR, REFUSED, NOTIMP
 
Dieser Fehlercode zeigt an, dass während einer Datenbanksuche irgendein ein nicht behebbarer Fehler aufgetreten ist. Eine mögliche Fehlerursache kann sein, dass die Datenbankdateien (z. B. BSD-kompatible HOSTS-, SERVICES- oder PROTOCOLS-Dateien) nicht gefunden werden konnten oder dass eine DNS-Anforderung vom Server mit einem schweren Fehler zurückgegeben wurde.
 
WSANO_DATA (11004)* Valid name, no data record of requested type | WSANO_ADDRESS (11004)* No address, look for MX record 
 
Der angeforderte Name ist gültig und wurde in der Datenbank gefunden, aber es sind ihm nicht die korrekten aufgelösten Daten zugeordnet. Das übliche Beispiel hierfür ist ein Versuch, einen Hostnamen mit dem DNS (Domänennamenserver) in eine Adresse aufzulösen (mit gethostbyname oder WSAAsyncGetHostByName). Es wird ein MX-Eintrag, aber kein A-Eintrag zurückgegeben—womit angezeigt wird, dass der Host vorhanden, aber nicht direkt erreichbar ist.