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.