LPWSPSHUTDOWN-Rückruffunktion (ws2spi.h)
Die LPWSPShutdown-Funktion deaktiviert das Senden und/oder Empfangen auf einem Socket.
Syntax
LPWSPSHUTDOWN Lpwspshutdown;
int Lpwspshutdown(
[in] SOCKET s,
[in] int how,
[out] LPINT lpErrno
)
{...}
Parameter
[in] s
Deskriptor, der einen Socket identifiziert.
[in] how
Flag, das beschreibt, welche Arten von Vorgängen nicht mehr zulässig sind.
[out] lpErrno
Zeiger auf den Fehlercode.
Rückgabewert
Wenn kein Fehler auftritt, gibt LPWSPShutdown null zurück. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und ein bestimmter Fehlercode ist in lpErrno verfügbar.
Fehlercode | Bedeutung |
---|---|
Beim Netzwerksubsystem ist ein Fehler aufgetreten. | |
Das Wie ist ungültig oder nicht mit dem Sockettyp konsistent. Beispielsweise wird SD_SEND mit einem UNI_RECV Sockettyp verwendet. | |
Die Funktion wird aufgerufen, wenn ein Rückruf ausgeführt wird. | |
Socket ist nicht verbunden (nur verbindungsorientierte Sockets). | |
Der Deskriptor ist kein Socket. |
Hinweise
Die LPWSPShutdown-Funktion wird für alle Arten von Sockets verwendet, um Empfang, Übertragung oder beides zu deaktivieren.
Wenn wie SD_RECEIVE ist, werden nachfolgende Empfangsvorgänge auf dem Socket nicht zugelassen. Dies hat keine Auswirkungen auf die unteren Protokollebenen. Bei TCP-Sockets wird die Verbindung zurückgesetzt, da die Daten nicht an den Benutzer übermittelt werden können, wenn weiterhin Daten auf dem Socket in der Warteschlange stehen, die auf den Empfang warten. Für UDP-Sockets werden eingehende Datagramme akzeptiert und in die Warteschlange gestellt. In keinem Fall wird ein ICMP-Fehlerpaket generiert.
Wenn wie SD_SEND ist, sind nachfolgende Senden auf dem Socket nicht zulässig. Für TCP-Sockets wird ein FIN gesendet. Wenn Sie festlegen, wie SD_BOTH festgelegt wird, werden sowohl Senden als auch Empfangen deaktiviert, wie oben beschrieben.
Beachten Sie, dass LPWSPShutdown den Socket nicht schließt und an den Socket angefügte Ressourcen erst freigegeben werden, wenn LPWSPCloseSocket aufgerufen wird.
Hinweis
Die LPWSPShutdown-Funktion wird unabhängig von der SO_LINGER Einstellung für den Socket nicht blockiert. Ein Windows Sockets SPI-Client sollte sich nicht darauf verlassen, dass ein Socket nach dem Herunterfahren wiederverwendet werden kann. Insbesondere muss ein Windows Sockets-Dienstanbieter die Verwendung von LPWSPConnect auf einem solchen Socket nicht unterstützen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | ws2spi.h |