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
networkInterfaceName
Nom de l’interface réseau.outStatus
Pointeur vers l’énumération Networking_InterfaceConnectionStatus qui reçoit la connexion réseau status.
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.