Função Networking_GetInterfaceConnectionStatus
Cabeçalho: #include <applibs/networking.h>
Obtém o estado da ligação de rede para uma interface de rede. Quando Networking_GetInterfaceConnectionStatus é chamado, o SO devolve o último estado conhecido e tenta atualizar o estado da interface especificado no Networking_InterfaceConnectionStatus enumeração.
A enumeração Networking_InterfaceConnectionStatus devolvida reflete o último estado conhecido da interface, conectividade de rede, endereço IP e ligação à Internet. Quando Networking_GetInterfaceConnectionStatus é chamado, o SO tenta atualizar estes sinalizadores de estado e efetuar uma chamada para http://www.msftconnecttest.com conforme indicado nos requisitos de rede do SO do Azure Sphere, de modo a determinar se o dispositivo tem conectividade à Internet.
Uma aplicação pode tomar medidas com base no estado Networking_InterfaceConnectionStatus_ConnectedToInternet , o que indica se o dispositivo está ligado à Internet. No entanto, por vários motivos, a conectividade de rede ou Internet pode perder-se entre o momento em que o estado foi atualizado e a hora em que a aplicação tenta ligar-se à Internet. Por conseguinte, a aplicação deve incluir lógica que permita escolhas inteligentes ao encontrar alterações na disponibilidade da rede e da Internet. A aplicação deve processar erros de ligação e adaptar-se em conformidade.
Se o estado devolvido indicar que o dispositivo não está ligado à Internet, a aplicação poderá chamar Networking_GetInterfaceConnectionStatus novamente para determinar quando o estado do dispositivo é alterado.
Se Networking_InterfaceConnectionStatus_ConnectedToInternet indicar que o dispositivo está ligado à Internet, o dispositivo não deve consultar o estado mais do que uma vez a cada 90 segundos. Se esta função de estado de ligação devolver repetidamente a indicação de que o dispositivo está ligado à Internet, o SO limita o estado e verifica se o intervalo de consulta é demasiado curto. O intervalo de consulta da aplicação recomendado é um pedido/dois minutos.
int Networking_GetInterfaceConnectionStatus(const char *networkInterfaceName, Networking_InterfaceConnectionStatus *outStatus);
Parâmetros
networkInterfaceName
O nome da interface de rede.outStatus
Um ponteiro para o Networking_InterfaceConnectionStatus enumeração que recebe o estado da ligação de rede.
Erros
Devolve -1 se for encontrado um erro e define errno
para o valor de erro.
EFAULT: o
outStatus
parâmetro é NULL.ENOENT: a
networkInterfaceName
interface não existe.EAGAIN: a pilha de rede não está pronta.
Também pode ser especificado qualquer outro errno
; esses erros não são deterministas e o mesmo comportamento pode não ser retido através de atualizações do sistema.
Valor devolvido
Devolve 0 para êxito, -1 para falha, caso errno
em que está definido como o valor de erro.