Função WSASendDisconnect (winsock2.h)
A função WSASendDisconnect inicia o encerramento da conexão para o soquete e envia dados de desconexão.
Sintaxe
int WSAAPI WSASendDisconnect(
[in] SOCKET s,
[in] LPWSABUF lpOutboundDisconnectData
);
Parâmetros
[in] s
Descritor que identifica um soquete.
[in] lpOutboundDisconnectData
Um ponteiro para os dados de desconexão de saída.
Retornar valor
Se nenhum erro ocorrer, WSASendDisconnect retornará zero. Caso contrário, um valor de SOCKET_ERROR será retornado e um código de erro específico poderá ser recuperado chamando WSAGetLastError.
Código do erro | Significado |
---|---|
Uma chamada WSAStartup bem-sucedida deve ocorrer antes de usar essa função. | |
O subsistema de rede falhou. | |
O parâmetro lpOutboundDisconnectData não é NULL e os dados de desconexão não são compatíveis com o provedor de serviços. | |
Uma chamada de bloqueio do Windows Sockets 1.1 está em andamento ou o provedor de serviços ainda está processando uma função de retorno de chamada. | |
O soquete não está conectado (somente soquetes orientados à conexão). | |
O descritor não é um soquete. | |
O parâmetro lpOutboundDisconnectData não está completamente contido em uma parte válida do espaço de endereço do usuário. |
Comentários
A função WSASendDisconnect é usada em soquetes orientados à conexão para desabilitar a transmissão e iniciar o encerramento da conexão junto com a transmissão de dados de desconexão, se houver. Isso é equivalente a um desligamento (SD_SEND), exceto que O WSASendDisconnect também permite o envio de dados de desconexão (em protocolos que dão suporte a ele).
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 NULL, aponta para um buffer que contém os dados de desconexão de saída a serem enviados à parte remota para recuperação usando WSARecvDisconnect.
A função WSASendDisconnect não bloqueia independentemente da configuração de SO_LINGER no soquete.
Um aplicativo não deve depender da capacidade de reutilizar um soquete depois de chamar WSASendDisconnect. Em particular, um provedor do Windows Sockets não é necessário para dar suporte ao uso da conexão/WSAConnect 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] |
Plataforma de Destino | Windows |
Cabeçalho | winsock2.h |
Biblioteca | Ws2_32.lib |
DLL | Ws2_32.dll |