Partager via


Fonction de rappel LPWSPGETSOCKNAME (ws2spi.h)

La fonction LPWSPGetSockName obtient le nom local d’un socket.

Syntaxe

LPWSPGETSOCKNAME Lpwspgetsockname;

int Lpwspgetsockname(
  [in]      SOCKET s,
  [out]     sockaddr *name,
  [in, out] LPINT namelen,
  [out]     LPINT lpErrno
)
{...}

Paramètres

[in] s

Descripteur identifiant un socket lié.

[out] name

Pointeur vers une structure de sockaddr utilisée pour fournir l’adresse (nom) du socket.

[in, out] namelen

En entrée, pointeur vers un entier qui indique la taille de la structure pointée par son nom, en octets. La sortie indique la taille du nom retourné, en octets.

[out] lpErrno

Pointeur vers le code d’erreur.

Valeur retournée

Si aucune erreur ne se produit, LPWSPGetSockName 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
WSAENETDOWN
Le sous-système réseau a échoué.
WSAEFAULT
Le nom ou le paramètre namelen ne fait pas partie de l’espace d’adressage de l’utilisateur ou le paramètre namelen est trop petit.
WSAEINPROGRESS
La fonction est appelée lorsqu’un rappel est en cours.
WSAENOTSOCK
Le descripteur n’est pas un socket.
WSAEINVAL
Socket n’a pas été lié à une adresse avec LPWSPBind, ou ADDR_ANY est spécifié dans **LPWSPBind** mais la connexion n’a pas encore eu lieu.

Remarques

LPWSPGetSockName récupère le nom actuel du descripteur de socket spécifié dans name. Il est utilisé sur un socket lié et/ou connecté spécifié par le paramètre s . L’association locale est retournée. Cet appel est particulièrement utile lorsqu’un appel LPWSPConnect a été effectué sans effectuer d’abord un LPWSPBind ; car cet appel fournit les seuls moyens par lesquels l’association locale qui a été définie par le fournisseur de services peut être déterminée.

Si un socket a été lié à une adresse non spécifiée (par exemple, ADDR_ANY), indiquant que l’une des adresses de l’hôte au sein de la famille d’adresses spécifiée doit être utilisée pour le socket, LPWSPGetSockNamene retourne pas nécessairement d’informations sur l’adresse hôte, sauf si le socket a été connecté à LPWSPConnect ou LPWSPAccept. Le client SPI windows Sockets ne doit pas supposer qu’une adresse sera spécifiée, sauf si le socket est connecté. En effet, pour un hôte multihomed, l’adresse qui sera utilisée pour le socket est inconnue tant que le socket n’est pas connecté.

Spécifications

   
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

Voir aussi

LPWSPBind

LPWSPGetPeerName

LPWSPSocket