Поделиться через


Сведения об API диспетчера сетевых списков

Сетевая среда Microsoft Windows позволяет нескольким компьютерам одновременно подключаться к нескольким сетям. Существует несколько беспроводных сетей, доступных вместе с локальной сетью и подключениями к телефону. Network List Manager определяет доступные сети и возвращает данные сетевого атрибута приложению.

API Диспетчера сетевых списков взаимодействует со службой Network List Manager, чтобы определить и получить свойства каждой сети, к которым подключается компьютер. Каждая сеть однозначно определяется сигнатурой сети на основе уникальных свойств этой сети. При регистрации приложения для уведомлений Network List Manager приложение получает уведомления о доступности новых сетевых подключений или изменении существующих сетевых подключений. Приложения могут настраивать свою логику в зависимости от того, к какой сети они подключены; какому сетевому подключению они принадлежат; или каковы свойства сети. С помощью этих информационных приложений можно точно настроить свои действия на основе текущих сетевых условий.

Windows Vista представляет новые интерфейсы, которые можно использовать для получения подробных сведений об этих сетевых характеристиках и многое другое. С помощью интерфейсаINetworkListManagerлегко перечислить все сети (INetwork) компьютер когда-либо видел, или только подключенные сети или просто отключенные сети. Интерфейс INetworkListManager также упрощает перечисление сетевых интерфейсов на компьютере.

Интерфейс INetwork используется для определения свойств сетевого подключения: имя, описание, идентификатор, управляемый/прошедший проверку подлинности, подключенный/отключенный и многое другое. Возможно, что одна сеть подключена к нескольким интерфейсам, поэтому с помощью интерфейса INetwork можно также перечислить экземпляры интерфейса INetwork, которые используются.

Интерфейс INetwork сообщает о соответствующих свойствах интерфейса: идентификатор, GUID, тип (управляемый, прошедший проверку подлинности) и состояние (подключенный, отключенный, V4 Локальный, V4 Интернет, V6 Локальный, V6 Интернет). V4 Local означает локальный доступ к протоколу Internet Protocol версии 4 (IPv4). V4 Internet означает IPv4 с доступом к Интернету. V6 Local и V6 Internet означают IPv6.

Корнем дерева объектов для сетевого расположения является интерфейс INetworkListManager. Этот интерфейс реализуется на CLSID_NetworkListManager coclass. Чтобы использовать этот интерфейс, необходимо создать объект COM CLSID_NetworkListManager, как показано ниже.

#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);
}