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

La función LPWSPSendDisconnect inicia la finalización de la conexión para el socket y envía datos de desconexión.

Sintaxis

LPWSPSENDDISCONNECT Lpwspsenddisconnect;

int Lpwspsenddisconnect(
  [in]  SOCKET s,
  [in]  LPWSABUF lpOutboundDisconnectData,
  [out] LPINT lpErrno
)
{...}

Parámetros

[in] s

Descriptor que identifica un socket.

[in] lpOutboundDisconnectData

Puntero a los datos de desconexión salientes.

[out] lpErrno

Puntero al código de error.

Valor devuelto

Si no se produce ningún error, LPWSPSendDisconnect 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.
WSAENOPROTOOPT
El parámetro lpOutboundDisconnectData no es null y el proveedor de servicios no admite los datos de desconexión.
WSAEINPROGRESS
El bloqueo de la llamada a Windows Sockets está en curso o el proveedor de servicios sigue procesando una función de devolución de llamada.
WSAENOTCONN
El socket no está conectado (solo sockets orientados a la conexión).
WSAENOTSOCK
El descriptor no es un socket.
WSAEFAULT
El parámetro lpOutboundDisconnectData no está totalmente incluido en una parte válida del espacio de direcciones del usuario.

Comentarios

La función LPWSPSendDisconnect se usa en sockets orientados a la conexión para deshabilitar la transmisión e iniciar la finalización de la conexión junto con la transmisión de datos de desconexión, si existe.

Una vez que esta función se haya emitido correctamente, no se permiten los envíos posteriores.

El parámetro lpOutboundDisconnectData , si no es null, apunta a un búfer que contiene los datos de desconexión salientes que se enviarán a la entidad remota.

Tenga en cuenta que LPWSPSendDisconnect no cierra el socket y que los recursos conectados al socket no se liberarán hasta que se invoque LPWSPCloseSocket .

Nota

La función LPWSPSendDisconnect no se bloquea independientemente de la configuración de SO_LINGER en el socket. Un cliente SPI de Windows Sockets no debe depender de poder reutilizar un socket después de que se haya desconectado. En concreto, no se requiere un proveedor de Windows Sockets para admitir el uso de LPWSPConnect en este tipo de socket.

Requisitos

Requisito Value
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

LPWSPConnect

LPWSPSocket