À propos de l’API Network List Manager
L’environnement de mise en réseau Microsoft Windows permet aux ordinateurs multilocataires de se connecter à plusieurs réseaux simultanément. Plusieurs réseaux sans fil peuvent être disponibles, ainsi que des connexions LAN et d’accès à distance. Network List Manager identifie les réseaux disponibles et retourne les données d’attribut réseau à l’application.
L’API Network List Manager interagit avec le service Network List Manager pour identifier et récupérer les propriétés de chaque réseau auquel le PC se connecte. Chaque réseau est identifié de manière unique avec une signature réseau basée sur les propriétés identifiables uniques de ce réseau. Lorsqu’une application s’inscrit aux notifications Network List Manager, l’application reçoit des notifications concernant la disponibilité de nouvelles connexions réseau ou les modifications apportées aux connexions réseau existantes. Les applications peuvent ajuster leur logique en fonction du réseau auquel elles sont connectées ; connexion réseau à laquelle ils sont connectés ; ou quelles sont les propriétés réseau. Avec ces informations, les applications peuvent affiner leurs actions en fonction des conditions réseau actuelles
Windows Vista introduit de nouvelles interfaces qui peuvent être utilisées pour obtenir des informations détaillées sur ces caractéristiques réseau et bien plus encore. Avec l’interface INetworkListManager , il est facile d’énumérer tous les réseaux (INetwork) qu’un ordinateur a jamais vus, ou seulement les réseaux connectés ou simplement les réseaux déconnectés. L’interface INetworkListManager permet également d’énumérer facilement les interfaces réseau sur un ordinateur.
L’interface INetwork permet de déterminer les propriétés d’une connexion réseau : nom, description, ID, managé/authentifié, connecté/déconnecté, etc. Il est possible qu’un seul réseau soit connecté à plusieurs interfaces. Par conséquent, par le biais d’une interface INetwork , vous pouvez également énumérer les instances de l’interface INetwork utilisée.
L’interface INetwork vous indique les propriétés pertinentes d’une interface : ID, GUID, Type (géré, authentifié) et État (connecté, déconnecté, V4 Local, Internet V4, V6 Local, V6 Internet). V4 Local signifie l’accès local IPv4 (Internet Protocol version 4). V4 Internet signifie IPv4 avec accès à Internet. V6 Local et V6 Internet signifient IPv6.
La racine de l’arborescence d’objets pour Network Location est l’interface INetworkListManager . Cette interface est implémentée sur la coclasse CLSID_NetworkListManager . Pour utiliser cette interface, il est nécessaire de créer l’objet COM CLSID_NetworkListManager comme illustré :
#include <windows.h>
#include <netlistmgr.h>
#pragma comment(lib, "ole32.lib")
void main()
{
INetworkListManager *pNetworkListManager = NULL;
HRESULT hr = CoCreateInstance(CLSID_NetworkListManager, NULL,
CLSCTX_ALL, IID_INetworkListManager,
(LPVOID *)&pNetworkListManager);
}