Control de errores de Winsock

La mayoría de las funciones de Windows Sockets 2 no devuelven la causa específica de un error cuando la función devuelve. Algunas funciones winsock devuelven un valor de cero si se ejecuta correctamente. De lo contrario, se devuelve el valor SOCKET_ERROR (-1) y se puede recuperar un número de error específico llamando a la función WSAGetLastError . Para las funciones winsock que devuelven un identificador, un valor devuelto de INVALID_SOCKET (0xffff) indica un error y se puede recuperar un número de error específico llamando a WSAGetLastError. Para las funciones winsock que devuelven un puntero, un valor devuelto de NULL indica un error y se puede recuperar un número de error específico llamando a la función WSAGetLastError .

Un código de error winsock se puede convertir en un HRESULT para su uso en una llamada a procedimiento remoto (RPC) mediante HRESULT_FROM_WIN32. En versiones anteriores del Kit de desarrollo de software de plataforma (SDK), HRESULT_FROM_WIN32 se definió como una macro en el archivo de encabezado Winerror.h . En el Kit de desarrollo de software (SDK) de Microsoft Windows, HRESULT_FROM_WIN32 se define como una función insertada en el archivo de encabezado Winerror.h .

Códigos de error de Windows Sockets