Fonction de rappel LPWSPSENDDISCONNECT (ws2spi.h)
La fonction LPWSPSendDisconnect initie l’arrêt de la connexion pour le socket et envoie les données de déconnexion.
Syntaxe
LPWSPSENDDISCONNECT Lpwspsenddisconnect;
int Lpwspsenddisconnect(
[in] SOCKET s,
[in] LPWSABUF lpOutboundDisconnectData,
[out] LPINT lpErrno
)
{...}
Paramètres
[in] s
Descripteur identifiant un socket.
[in] lpOutboundDisconnectData
Pointeur vers les données de déconnexion sortantes.
[out] lpErrno
Pointeur vers le code d’erreur.
Valeur retournée
Si aucune erreur ne se produit, LPWSPSendDisconnect retourne zéro. Sinon, une valeur de SOCKET_ERROR est retournée et un code d’erreur spécifique est disponible dans lpErrno.
Code d'erreur | Signification |
---|---|
Le sous-système réseau a échoué. | |
Le paramètre lpOutboundDisconnectData n’est pas null et les données de déconnexion ne sont pas prises en charge par le fournisseur de services. | |
L’appel de sockets Windows est en cours ou le fournisseur de services traite toujours une fonction de rappel. | |
Le socket n’est pas connecté (sockets orientés connexion uniquement). | |
Le descripteur n’est pas un socket. | |
Le paramètre lpOutboundDisconnectData n’est pas totalement contenu dans une partie valide de l’espace d’adressage utilisateur. |
Remarques
La fonction LPWSPSendDisconnect est utilisée sur les sockets orientés connexion pour désactiver la transmission et lancer l’arrêt de la connexion avec la transmission de données de déconnexion, le cas échéant.
Une fois cette fonction correctement émise, les envois suivants sont interdits.
Le paramètre lpOutboundDisconnectData , s’il n’est pas null, pointe vers une mémoire tampon contenant les données de déconnexion sortantes à envoyer à la partie distante.
Notez que LPWSPSendDisconnect ne ferme pas le socket et que les ressources attachées au socket ne seront pas libérées tant que LPWSPCloseSocket n’est pas appelé.
Notes
La fonction LPWSPSendDisconnect ne bloque pas, quel que soit le paramètre SO_LINGER sur le socket. Un client SPI Windows Sockets ne doit pas s’appuyer sur la possibilité de réutiliser un socket une fois qu’il a été déconnecté. En particulier, un fournisseur Windows Sockets n’est pas nécessaire pour prendre en charge l’utilisation de LPWSPConnect sur un tel socket.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | ws2spi.h |