Acerca de network List Manager API
El entorno de red de Microsoft Windows permite que los equipos de host múltiple se conecten a varias redes simultáneamente. Puede haber varias redes inalámbricas disponibles junto con LAN y conexiones de acceso telefónico. Network List Manager identifica las redes disponibles y devuelve los datos de atributo de red a la aplicación.
Network List Manager API interactúa con el servicio Network List Manager para identificar y recuperar propiedades de cada red a la que se conecta el equipo. Cada red se identifica de forma única con una firma de red basada en las propiedades identificables de forma única de esa red. Cuando una aplicación se registra para las notificaciones de Network List Manager, la aplicación recibe notificaciones sobre la disponibilidad de nuevas conexiones de red o cambios en las conexiones de red existentes. Las aplicaciones pueden ajustar su lógica dependiendo de: la red a la que están conectados; a qué conexión de red están conectadas; o cuáles son las propiedades de red. Con esta información, las aplicaciones pueden ajustar sus acciones en función de las condiciones de red actuales.
Windows Vista presenta nuevas interfaces que se pueden usar para obtener información detallada sobre estas características de red y mucho más. Con la interfaz INetworkListManager es fácil enumerar todas las redes (INetwork) que haya visto un equipo, o simplemente las redes conectadas, o simplemente las redes desconectadas. La interfaz INetworkListManager también facilita la enumeración de las interfaces de red en un equipo.
La interfaz INetwork se usa para determinar las propiedades de una conexión de red: name, description, ID, managed/authenticated, connected/disconnected, etc. Es posible que una sola red esté conectada a varias interfaces, por lo que a través de una interfaz INetwork también puede enumerar las instancias de la interfaz INetwork que se está usando.
La interfaz INetwork indica las propiedades pertinentes de una interfaz: ID, GUID, Type (administrado, autenticado) y State (conectado, desconectado, V4 Local, V4 Internet, V6 Local, V6 Internet). V4 Local significa acceso local del Protocolo de Internet versión 4 (IPv4). V4 Internet significa IPv4 con acceso a Internet. V6 Local y V6 Internet significaN IPv6.
La raíz del árbol de objetos de ubicación de red es la interfaz INetworkListManager . Esta interfaz se implementa en la CLSID_NetworkListManager coclase. Para usar esta interfaz, es necesario crear el objeto COM CLSID_NetworkListManager como se muestra:
#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);
}