Função WSAGetLastError (winsock.h)
A função WSAGetLastError retorna o erro status da última operação do Windows Sockets que falhou.
Sintaxe
int WSAGetLastError();
Valor retornado
O valor retornado indica o código de erro da última operação do Windows Sockets desse thread que falhou.
Comentários
A função WSAGetLastError retorna o último erro que ocorreu para o thread de chamada. Quando uma função específica do Windows Sockets indica que ocorreu um erro, essa função deve ser chamada imediatamente para recuperar o código de erro estendido para a chamada de função com falha. Esse código de erro estendido pode ser diferente do código de erro obtido de getsockopt quando chamado com um parâmetro optname de SO_ERROR, que é específico do soquete, pois WSAGetLastError é para todos os soquetes específicos do thread.
Se o valor retornado de uma chamada de função indicar que o erro ou outros dados relevantes foram retornados no código de erro, WSAGetLastError deverá ser chamado imediatamente. Isso é necessário porque algumas funções podem redefinir o último código de erro estendido para 0 se tiverem êxito, substituindo o código de erro estendido retornado por uma função com falha anterior. Para redefinir especificamente o código de erro estendido, use a chamada de função WSASetLastError com o parâmetro iError definido como zero. Uma função getsockopt quando chamada com um parâmetro optname de SO_ERROR também redefine o código de erro estendido para zero.
A função WSAGetLastError não deve ser usada para marcar para um valor de erro estendido no recebimento de uma mensagem assíncrona. Nesse caso, o valor de erro estendido é passado no parâmetro lParam da mensagem e isso pode ser diferente do valor retornado por WSAGetLastError.
Os códigos de erro estendidos do Windows Sockets retornados por essa função e a descrição do texto do erro são listados em Códigos de Erro do Windows Sockets. Esses códigos de erro e uma descrição de texto curto associada a um código de erro são definidos no arquivo de cabeçalho Winerror.h . A função FormatMessage pode ser usada para obter a cadeia de caracteres de mensagem para o erro retornado.
Para obter informações sobre como lidar com códigos de erro ao portar aplicativos de soquete para Winsock, consulte Códigos de erro – errno, h_errno e WSAGetLastError.
Windows Phone 8: essa função tem suporte para aplicativos da Windows Phone Store no Windows Phone 8 e posterior.
Windows 8.1 e Windows Server 2012 R2: essa função tem suporte para aplicativos da Windows Store em Windows 8.1, Windows Server 2012 R2 e posterior.
Requisitos
Cliente mínimo com suporte | Windows 8.1, Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winsock.h (inclua Winsock2.h) |
Biblioteca | Ws2_32.lib |
DLL | Ws2_32.dll |
Confira também
Códigos de erro – errno, h_errno e WSAGetLastError