Сведения об API диспетчера списков сетей
Сетевая среда Microsoft Windows позволяет многосетевым компьютерам подключаться к нескольким сетям одновременно. Может быть доступно несколько беспроводных сетей, а также локальных и коммутируемых подключений. Диспетчер списков сетей идентифицирует доступные сети и возвращает в приложение данные сетевых атрибутов.
API диспетчера списков сетей взаимодействует со службой диспетчера списков сетей для определения и извлечения свойств каждой сети, к которым подключается компьютер. Каждая сеть уникально идентифицируется с помощью сетевой подписи на основе уникально идентифицируемых свойств этой сети. Когда приложение регистрируется для уведомлений диспетчера списков сетей, приложение получает уведомления о доступности новых сетевых подключений или изменениях существующих сетевых подключений. Приложения могут настраивать свою логику в зависимости от того, к какой сети они подключены; к какому сетевому подключению они подключены; или свойства сети. С помощью этой информации приложения могут точно настраивать свои действия на основе текущих условий сети.
В Windows Vista появились новые интерфейсы, которые можно использовать для получения подробных сведений об этих характеристиках сети и многом другом. С помощью интерфейса INetworkListManager можно легко перечислить все сети (INetwork), которые когда-либо видел компьютер, или только подключенные сети или только отключенные сети. Интерфейс INetworkListManager также упрощает перечисление сетевых интерфейсов на компьютере.
Интерфейс INetwork используется для определения свойств сетевого подключения: имя, описание, идентификатор, управляемый/прошедший проверку подлинности, подключенный/отключенный и многое другое. Возможно, одна сеть подключена к нескольким интерфейсам, поэтому с помощью интерфейса INetwork можно также перечислить экземпляры используемого интерфейса INetwork .
Интерфейс INetwork сообщает о соответствующих свойствах интерфейса: ID, GUID, Type (управляемый, прошедший проверку подлинности) и State (connected, disconnected, V4 Local, V4 Internet, V6 Local, V6 Internet). Версия 4 Локальная означает локальный доступ по протоколу Интернет версии 4 (IPv4). V4 Internet означает IPv4 с доступом к Интернету. Версия 6 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);
}