Red de conocimiento informático - Problemas con los teléfonos móviles - Datos relacionados para WSASendTo()

Datos relacionados para WSASendTo()

Valor de retorno:

La función WSASendTo() devuelve 0 si no se produce ningún error y la operación de envío se completa inmediatamente. Tenga en cuenta que en este caso, la indicación de finalización (iniciar la rutina de finalización especificada o configurar el objeto de evento) ya habrá ocurrido. De lo contrario, se devuelve un error SOCKET_ERROR y la aplicación puede obtener el código de error correspondiente a través de WSAGetLastError(). El código de error WSA_IO_PENDING indica que la operación superpuesta se inició correctamente, seguida de una indicación de finalización. Cualquier otro error indica que la operación superpuesta no se inició correctamente y no habrá ninguna indicación de finalización posterior.

Si se establece el indicador MSG_INTERRUPT, el significado del valor de retorno cambia. 0 indica éxito y tiene el mismo significado que el anterior. De lo contrario, el valor de retorno contendrá directamente el código de error que se muestra a continuación. Esto debe usarse porque no se puede llamar a WSAGetLastError() en un entorno de interrupción. Tenga en cuenta que esto solo funciona en entornos Win16 y solo para protocolos que tienen el bit XP1_INTERRUPT establecido en la estructura PROTOCOL_INFO.

Código de error:

WSANOTINITIALISED WSAStartup() debe llamarse correctamente antes de llamar a esta API.

Error del subsistema de red WSAENETDOWN.

La dirección solicitada por WSAEACCES es una dirección de transmisión, pero el bit de bandera correspondiente no está establecido.

La llamada WSAEINTR fue cancelada (bloqueada) por la función WSACancelBlockingCall().

WSAEINPROGRESS está realizando una llamada de bloqueo de WinSock o el proveedor de servicios aún está procesando la función de devolución de llamada

WSAEFAULT El parámetro lpBuffer o lpTo no forma parte del espacio de direcciones del usuario ni de lpTo; El parámetro es demasiado pequeño (más pequeño que el tamaño de sockaddr de la estructura).

WSAENETRESET El reinicio del host remoto provocó que se cancelara la conexión.

WSAENOBUFS El proveedor WinSock informó un bloqueo del búfer.

WSAENOTCONN El zócalo no está conectado (se aplica solo a zócalos orientados a conexión).

El descriptor WSAENOTSOCK no es una interfaz de socket.

WSAEOPNOTSUPP MSG_OOB se ha configurado, pero el socket no pertenece al tipo de flujo SOCK_STREAM, el dominio de comunicación asociado con el socket no admite datos fuera de banda o el socket es unidireccional y Solo admite operaciones de recepción.

WSAESHUTDOWN La interfaz del socket se ha cerrado; la interfaz del socket no puede llamar a WSASendTo() después de haber sido cerrada() utilizando el parámetro how de SD_SEND o SD _BOTH.

WSAEWOULDBLOCK Demasiadas solicitudes de entrada/salida superpuestas.

El conjunto de interfaces WSAEMSGSIZE está orientado a mensajes y la longitud del mensaje es mayor que la longitud máxima admitida por el transporte subyacente.

WSAEINVAL La interfaz de la suite no se vinculó usando bind(), o la interfaz de la suite no se creó usando el indicador de superposición.

WSAECONNABORTED El circuito virtual fue abortado debido a un tiempo de espera u otro error.

WSAECONNRESET El circuito virtual se restableció de forma remota.

WSAEADDRNOTAVAIL El host local no puede obtener la dirección especificada.

WSAEAFNOSUPPORT Las direcciones de la familia de direcciones especificada no se pueden utilizar con este conjunto de interfaces.

WSAEEDESTADDRREQ requiere una dirección de destino.

WSAENETUNREACH Actualmente no se puede contactar con la red desde este host.

WSA_IO_PENDING La operación de superposición se inició exitosamente y aparecerá una indicación de finalización.