WSASendDisconnect-Funktion (winsock2.h)
Die WSASendDisconnect-Funktion initiiert das Beenden der Verbindung für den Socket und sendet Trenndaten.
Syntax
int WSAAPI WSASendDisconnect(
[in] SOCKET s,
[in] LPWSABUF lpOutboundDisconnectData
);
Parameter
[in] s
Deskriptor, der einen Socket identifiziert.
[in] lpOutboundDisconnectData
Ein Zeiger auf die ausgehenden Verbindungsdaten.
Rückgabewert
Wenn kein Fehler auftritt, gibt WSASendDisconnect null zurück. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und ein bestimmter Fehlercode kann durch Aufrufen von WSAGetLastError abgerufen werden.
Fehlercode | Bedeutung |
---|---|
Vor der Verwendung dieser Funktion muss ein erfolgreicher WSAStartup-Aufruf erfolgen. | |
Beim Netzwerksubsystem ist ein Fehler aufgetreten. | |
Der Parameter lpOutboundDisconnectData ist nicht NULL, und die Verbindungsdaten werden vom Dienstanbieter nicht unterstützt. | |
Ein blockierter Windows Sockets 1.1-Aufruf wird ausgeführt, oder der Dienstanbieter verarbeitet weiterhin eine Rückruffunktion. | |
Der Socket ist nicht verbunden (nur verbindungsorientierte Sockets). | |
Der Deskriptor ist kein Socket. | |
Der parameter lpOutboundDisconnectData ist nicht vollständig in einem gültigen Teil des Benutzeradressraums enthalten. |
Hinweise
Die WSASendDisconnect-Funktion wird an verbindungsorientierten Sockets verwendet, um die Übertragung zu deaktivieren und die Beendigung der Verbindung zusammen mit der Übertragung von Trenndaten zu initiieren, falls vorhanden. Dies entspricht einem Herunterfahren (SD_SEND), mit der Ausnahme, dass WSASendDisconnect auch das Senden von Verbindungsdaten (in Protokollen, die dies unterstützen) zulässt.
Nachdem diese Funktion erfolgreich ausgestellt wurde, werden nachfolgende Senden nicht mehr zugelassen.
Der lpOutboundDisconnectData-Parameter , wenn nicht NULL, verweist auf einen Puffer, der die ausgehenden Verbindungsdaten enthält, die zum Abrufen mithilfe von WSARecvDisconnect an die Remotepartei gesendet werden sollen.
Die WSASendDisconnect-Funktion wird unabhängig von der SO_LINGER Einstellung für den Socket nicht blockiert.
Eine Anwendung sollte sich nicht darauf verlassen, dass ein Socket nach dem Aufruf von WSASendDisconnect wiederverwendet werden kann. Insbesondere muss ein Windows Sockets-Anbieter die Verwendung von Connect/WSAConnect für einen 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] |
Zielplattform | Windows |
Kopfzeile | winsock2.h |
Bibliothek | Ws2_32.lib |
DLL | Ws2_32.dll |