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

La función LPWSPShutdown deshabilita los envíos o las recibe en un socket.

Sintaxis

LPWSPSHUTDOWN Lpwspshutdown;

int Lpwspshutdown(
  [in]  SOCKET s,
  [in]  int how,
  [out] LPINT lpErrno
)
{...}

Parámetros

[in] s

Descriptor que identifica un socket.

[in] how

Marca que describe qué tipos de operación ya no se permitirán.

[out] lpErrno

Puntero al código de error.

Valor devuelto

Si no se produce ningún error, LPWSPShutdown 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.
WSAEINVAL
El modo en que no es válido o no es coherente con el tipo de socket. Por ejemplo, SD_SEND se usa con un tipo de socket UNI_RECV.
WSAEINPROGRESS
La función se invoca cuando una devolución de llamada está en curso.
WSAENOTCONN
El socket no está conectado (solo sockets orientados a la conexión).
WSAENOTSOCK
El descriptor no es un socket.

Comentarios

La función LPWSPShutdown se usa en todos los tipos de sockets para deshabilitar la recepción, la transmisión o ambas.

Si se SD_RECEIVE, no se permitirán las recepciones posteriores en el socket. Esto no tiene ningún efecto en las capas de protocolo inferiores. En el caso de los sockets TCP, si todavía hay datos en cola en el socket que esperan recibirse, o los datos llegan posteriormente, se restablece la conexión, ya que los datos no se pueden entregar al usuario. En el caso de los sockets UDP, se aceptan y ponen en cola los datagramas entrantes. En ningún caso se generará un paquete de error ICMP.

Si se SD_SEND, no se permiten los envíos posteriores en el socket. En los sockets TCP, se enviará una marca FIN. Establecer cómo SD_BOTH deshabilita los envíos y los recibe como se ha descrito anteriormente.

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

Nota

La función LPWSPShutdown 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 apagado. En concreto, no es necesario que un proveedor de servicios de Windows Sockets admita el uso de LPWSPConnect en dicho 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