Función de devolución de llamada LPWSPGETSOCKNAME (ws2spi.h)

La función LPWSPGetSockName obtiene el nombre local de un socket.

Sintaxis

LPWSPGETSOCKNAME Lpwspgetsockname;

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

Parámetros

[in] s

Descriptor que identifica un socket enlazado.

[out] name

Puntero a una estructura de sockaddr utilizada para proporcionar la dirección (nombre) del socket.

[in, out] namelen

En la entrada, puntero a un entero que indica el tamaño de la estructura a la que apunta el nombre, en bytes. En la salida, indica el tamaño del nombre devuelto, en bytes.

[out] lpErrno

Puntero al código de error.

Valor devuelto

Si no se produce ningún error, LPWSPGetSockName devuelve cero. De lo contrario, se devuelve un valor de SOCKET_ERROR y hay disponible un código de error específico en lpErrno.

Código de error Significado
WSAENETDOWN
Error en el subsistema de red.
WSAEFAULT
El nombre o el parámetro namelen no es una parte válida del espacio de direcciones del usuario o el parámetro namelen es demasiado pequeño.
WSAEINPROGRESS
La función se invoca cuando una devolución de llamada está en curso.
WSAENOTSOCK
El descriptor no es un socket.
WSAEINVAL
El socket no se ha enlazado a una dirección con LPWSPBind o ADDR_ANY se especifica en **LPWSPBind**, pero aún no se ha producido la conexión.

Observaciones

LPWSPGetSockName recupera el nombre actual del descriptor de socket especificado en nombre. Se usa en un socket enlazado o conectado especificado por el parámetro s . Se devuelve la asociación local. Esta llamada es especialmente útil cuando se ha realizado una llamada LPWSPConnect sin realizar primero un LPWSPBind ; dado que esta llamada proporciona los únicos medios por los que se puede determinar la asociación local establecida por el proveedor de servicios.

Si un socket estaba enlazado a una dirección no especificada (por ejemplo, ADDR_ANY), indicando que cualquiera de las direcciones del host dentro de la familia de direcciones especificada debe usarse para el socket, LPWSPGetSockNameno devolverá necesariamente información sobre la dirección del host, a menos que el socket se haya conectado con LPWSPConnect o LPWSPAccept. El cliente SPI de Windows Sockets no debe suponer que se especificará una dirección a menos que el socket esté conectado. Esto se debe a que para un host de hospedaje múltiple, la dirección que se usará para el socket es desconocida hasta que el socket está conectado.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado ws2spi.h

Consulte también

LPWSPBind

LPWSPGetPeerName

LPWSPSocket