Compartilhar via


Função de retorno de chamada LPWSPSHUTDOWN (ws2spi.h)

A função LPWSPShutdown desabilita envios e/ou recebimentos em um soquete.

Sintaxe

LPWSPSHUTDOWN Lpwspshutdown;

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

Parâmetros

[in] s

Descritor que identifica um soquete.

[in] how

Sinalizador que descreve quais tipos de operação não serão mais permitidos.

[out] lpErrno

Ponteiro para o código de erro.

Retornar valor

Se nenhum erro ocorrer, LPWSPShutdown retornará zero. Caso contrário, um valor de SOCKET_ERROR será retornado e um código de erro específico estará disponível no lpErrno.

Código do Erro Significado
WSAENETDOWN
O subsistema de rede falhou.
WSAEINVAL
O modo como não é válido ou não é consistente com o tipo de soquete. Por exemplo, SD_SEND é usado com um tipo de soquete UNI_RECV.
WSAEINPROGRESS
A função é invocada quando um retorno de chamada está em andamento.
WSAENOTCONN
O soquete não está conectado (somente soquetes orientados à conexão).
WSAENOTSOCK
O descritor não é um soquete.

Comentários

A função LPWSPShutdown é usada em todos os tipos de soquetes para desabilitar a recepção, a transmissão ou ambos.

Se SD_RECEIVE , os recebimentos subsequentes no soquete serão não permitidos. Isso não tem efeito nas camadas de protocolo inferiores. Para soquetes TCP, se ainda houver dados enfileirados no soquete aguardando para serem recebidos ou os dados chegarem posteriormente, a conexão será redefinida, pois os dados não poderão ser entregues ao usuário. Para soquetes UDP, os datagramas de entrada são aceitos e enfileirados. Em nenhum caso será gerado um pacote de erro ICMP.

Se SD_SEND , os envios subsequentes no soquete não serão permitidos. Para soquetes TCP, um FIN será enviado. Definir como SD_BOTH desabilita os envios e os recebimentos, conforme descrito acima.

Observe que LPWSPShutdown não fecha o soquete e os recursos anexados ao soquete não serão liberados até que LPWSPCloseSocket seja invocado.

Observação

A função LPWSPShutdown não bloqueia independentemente da configuração de SO_LINGER no soquete. Um cliente SPI do Windows Sockets não deve depender da capacidade de reutilizar um soquete depois que ele for desligado. Em particular, um provedor de serviços do Windows Sockets não é necessário para dar suporte ao uso de LPWSPConnect em tal soquete.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho ws2spi.h

Confira também

LPWSPConnect

LPWSPSocket