WSACleanup

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função termina uso a ws2.dll.

Syntax

int  WSACleanup (void);

Parameters

Nenhum.

Return Value

Se não houver erro, essa função retornará zero. Se ocorre um erro, o valor retornado SOCKET_ERROR e um número de erro específicas pode ser recuperado por chamado de WSAGetLastError função.

Em um de vários segmentos ambiente, WSACleanup Finaliza operações Soquetes do Windows para todos os segmentos. A seguinte tabela mostra uma lista dos códigos de erro possível.

Código de erro Descrição

WSANOTINITIALISED

Um bem-sucedido WSAStartup chamar deve ocorrer antes de usar essa função.

WSAENETDOWN

Falha no subsistema da rede.

WSAEINPROGRESS

Um bloqueio é chamar sockets do Windows (Winsock) em andamento, ou o serviço provedor ainda é processamento um função callback.

Remarks

Um aplicativo ou dynamic-link library (DLL) é exigido para executar um bem-sucedido WSAStartup chamar antes que ele possa usar os serviços Soquetes do Windows. Quando tiver concluído o uso de Soquetes do Windows, o aplicativo ou DLL deve chamar WSACleanup Para cancelar o próprio registro de uma implementação Soquetes do Windows e permitir que a implementação para livre quaisquer recursos alocados on Behalf Of o aplicativo ou DLL. Qualquer pendente bloqueio ou assíncrono chamadas emitidas por qualquer segmento nesse processo são canceladas sem postando mensagens qualquer notificação ou sem sinalização quaisquer objetos evento. Qualquer pendente sobreposto enviar e recebe (operaçõesWSASend/WSASendTo/WSARecv/WSARecvFrom Com um Soquete sobreposta) emitidos por qualquer segmento nesse processo também serão canceladas sem configuração objeto o evento ou chamar a rotina de conclusão, se especificado. Neste maiúsculas e minúsculas, o pendente sobreposto operações falha com o status de erro WSA_OPERATION_ABORTED.

Soquetes que foram aberto quando WSACleanup foi chamado é redefinir e automaticamente de-allocated como se closesocket foi chamado. Soquetes que foram fechados com closesocket mas que ainda têm pendente dados para serem enviados podem ser afetados. O pendente dados podem ser perdidos se o ws2.dll é descarregadas da memória conforme o aplicativo é encerrado. Para garantir que todos os pendente dados são enviados, um aplicativo deve usar desligamento Para fechar a conexão e, em seguida, aguardar até que a fechar conclui antes chamado closesocket e WSACleanup. Todos os recursos e estado interno, such as enfileirado unposted-posted mensagens, deve ser de-allocated de forma a estar disponível para o próximo usuário.

Soquetes abertos no tempo de um WSACleanup chamar estão fechados e de-allocated como eles poderiam ser se closesocket foi chamado. Soquetes remanescentes, soquetes que foram fechados com closesocket mas que ainda têm pendente dados a ser enviado, pode ser afetado. Seus pendente dados serão perdidos se o ws2.dll é descarregadas da memória conforme o aplicativo é encerrado. Para garantir que dados não sejam perdidos, um aplicativo deve desligar o Soquete antes chamado closesocket e, em seguida, WSACleanup. Todos os Recursos ws2.dll e estado interno serão redefinir e / ou de-allocated na chamar final para WSACleanup.

Deve haver um chamar para WSACleanup Para cada bem-sucedido chamar para WSAStartup feitas por uma tarefa. Somente o final WSACleanup chamar para essa tarefa o real limpeza; a acima chama simplesmente diminuição um contagem de referência interno na ws2.dll.

Requirements

Header winsock2.h
Library Ws2.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

closesocket
shutdown
WSAGetLastError
WSARecv
WSARecvFrom
WSASend
WSASendTo
WSAStartup