Manipulando erros de Winsock

A maioria das funções do Windows Sockets 2 não retorna a causa específica de um erro quando a função retorna. Algumas funções Winsock retornam um valor igual a zero se tiverem êxito. Caso contrário, o valor SOCKET_ERROR (-1) será retornado e um número de erro específico poderá ser recuperado chamando a função WSAGetLastError . Para funções Winsock que retornam um identificador, um valor retornado de INVALID_SOCKET (0xffff) indica um erro e um número de erro específico pode ser recuperado chamando WSAGetLastError. Para funções Winsock que retornam um ponteiro, um valor retornado de NULL indica um erro e um número de erro específico pode ser recuperado chamando a função WSAGetLastError .

Um código de erro Winsock pode ser convertido em um HRESULT para uso em uma RPC (chamada de procedimento remoto) usando HRESULT_FROM_WIN32. Em versões anteriores do SDK (Platform Software Development Kit), HRESULT_FROM_WIN32 foi definido como uma macro no arquivo de cabeçalho Winerror.h . No SDK (Software Development Kit) do Microsoft Windows, HRESULT_FROM_WIN32 é definido como uma função embutida no arquivo de cabeçalho Winerror.h .

Códigos de erro do Windows Sockets