Compartilhar via


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

A função LPWSPSendDisconnect inicia o encerramento da conexão para o soquete e envia dados de desconexão.

Sintaxe

LPWSPSENDDISCONNECT Lpwspsenddisconnect;

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

Parâmetros

[in] s

Descritor que identifica um soquete.

[in] lpOutboundDisconnectData

Ponteiro para os dados de desconexão de saída.

[out] lpErrno

Ponteiro para o código de erro.

Retornar valor

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

Código do Erro Significado
WSAENETDOWN
O subsistema de rede falhou.
WSAENOPROTOOPT
O parâmetro lpOutboundDisconnectData não é nulo e os dados de desconexão não são compatíveis com o provedor de serviços.
WSAEINPROGRESS
O bloqueio da chamada do Windows Sockets está em andamento ou o provedor de serviços ainda está processando uma função de retorno de chamada.
WSAENOTCONN
O soquete não está conectado (somente soquetes orientados à conexão).
WSAENOTSOCK
O descritor não é um soquete.
WSAEFAULT
O parâmetro lpOutboundDisconnectData não está totalmente contido em uma parte válida do espaço de endereço do usuário.

Comentários

A função LPWSPSendDisconnect é usada em soquetes orientados à conexão para desabilitar a transmissão e para iniciar o encerramento da conexão junto com a transmissão de dados de desconexão, se houver.

Depois que essa função tiver sido emitida com êxito, os envios subsequentes não serão permitidos.

O parâmetro lpOutboundDisconnectData , se não for nulo, aponta para um buffer que contém os dados de desconexão de saída a serem enviados para a parte remota.

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

Observação

A função LPWSPSendDisconnect não é bloqueada 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 desconectado. Em particular, um provedor 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