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 |
---|---|
Error en el subsistema de red. | |
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. | |
La función se invoca cuando una devolución de llamada está en curso. | |
El descriptor no es un socket. | |
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 |