Windows C++: получить список локальных подключений (ЛВС)

Взято с форума отсюда by crackedmind
Надеюсь из кода понятно, что он отключает нужный сетевой интерфейс, предварительно получив список интерфейсов и найдя в нем нас интересующий.

По непонятным причинам данные интерфейсы не описаны в MSDN Грустный Тоже в свое время потратил кучу времени на поиски такого кода

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <netcon.h>
 
void DisableNIC(char* InterfaceName)
{
    INetConnectionManager* pNet;
    INetConnection* pConn;
    IEnumNetConnection* pEnum;
    NETCON_PROPERTIES* pProps;
    wchar_t Temp[255];
    ULONG uCount = 0;
 
    swprintf(Temp, L"%S", InterfaceName);
    CoInitialize(NULL);
    CoCreateInstance(CLSID_ConnectionManager, NULL, CLSCTX_SERVER, IID_INetConnectionManager, (void**)&pNet);
    pNet->EnumConnections(NCME_DEFAULT, &pEnum);
 
    while (pEnum->Next(1, &pConn, &uCount) == S_OK)
    {
        pConn->GetProperties( &pProps );
        if (!wcscmp(pProps->pszwName, Temp))
        {
            printf("Found %S\n", pProps->pszwName);
            printf("Going to disable connection now!\n");
            pConn->Disconnect();
            printf("Disabled!");
            CoTaskMemFree(pProps->pszwName);
            CoTaskMemFree(pProps->pszwDeviceName);
            CoTaskMemFree(pProps);
            pConn->Release();
        }
    }
    pEnum->Release();
    pNet->Release();
    CoUninitialize();
}

кардшаринг радуга и создание кардшаринга


Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Загрузка...
Menu Title