Partager via


Networking_GetInterfaceConnectionStatus, fonction

En-tête : #include <applibs/networking.h>

Obtient le status de connexion réseau pour une interface réseau. Quand Networking_GetInterfaceConnectionStatus est appelé, le système d’exploitation retourne la dernière status connue et tente de mettre à jour l’interface spécifiée status dans l’énumération Networking_InterfaceConnectionStatus.

L’énumération Networking_InterfaceConnectionStatus retournée reflète la dernière status connue de l’interface, de la connectivité réseau, de l’adresse IP et de la connexion Internet. Lorsque Networking_GetInterfaceConnectionStatus est appelé, le système d’exploitation tente de mettre à jour ces indicateurs de status et d’effectuer un appel àhttp://www.msftconnecttest.com, comme indiqué dans Exigences de mise en réseau du système d’exploitation Azure Sphere, afin de déterminer si l’appareil dispose d’une connectivité Internet.

Une application peut prendre des mesures en fonction de la Networking_InterfaceConnectionStatus_ConnectedToInternet status, ce qui indique si l’appareil est connecté à Internet. Toutefois, pour diverses raisons, la connectivité réseau ou Internet peut être perdue entre le moment où le status a été mis à jour et le moment où l’application tente de se connecter à Internet. Par conséquent, l’application doit inclure une logique qui permet d’effectuer des choix intelligents lorsque vous rencontrez des modifications dans la disponibilité du réseau et d’Internet. L’application doit gérer les erreurs de connexion et s’adapter en conséquence.

Si le status retourné indique que l’appareil n’est pas connecté à Internet, l’application peut rappeler Networking_GetInterfaceConnectionStatus afin de déterminer à quel moment l’appareil status est modifié.

Si Networking_InterfaceConnectionStatus_ConnectedToInternet indique que l’appareil est connecté à Internet, l’appareil ne doit pas interroger status plus d’une fois toutes les 90 secondes. Si cette fonction de connexion status retourne à plusieurs reprises l’indication que l’appareil est connecté à Internet, le système d’exploitation limite la status case activée si l’intervalle d’interrogation est trop court. L’intervalle d’interrogation d’application recommandé est d’une requête/deux minutes.

int Networking_GetInterfaceConnectionStatus(const char *networkInterfaceName, Networking_InterfaceConnectionStatus *outStatus);

Paramètres

Erreurs

Retourne -1 si une erreur est rencontrée et définit errno sur la valeur d’erreur.

  • EFAULT : le outStatus paramètre est NULL.

  • ENOENT : l’interface networkInterfaceName n’existe pas.

  • EAGAIN : la pile réseau n’est pas prête.

Toutes les autres errno peuvent également être spécifiées ; ces erreurs ne sont pas déterministes et le même comportement peut ne pas être conservé par le biais des mises à jour système.

Valeur de retour

Retourne 0 pour la réussite, -1 pour l’échec, auquel cas errno est défini sur la valeur d’erreur.

Concepts et exemples