天天看點

C++ 通過Com 元件 啟用/禁用 網卡 檢視網卡狀态

#include <NetCon.h>
void ChangeNetState()
{
    CoInitialize(NULL);
    INetConnectionManager* pNetManager;
    INetConnection* pNetConnection;
    IEnumNetConnection* pEnum;

    if (S_OK != CoCreateInstance(CLSID_ConnectionManager, NULL, CLSCTX_SERVER, IID_INetConnectionManager, (void**)&pNetManager))
    {
        return ;
    }

    pNetManager->EnumConnections(NCME_DEFAULT, &pEnum);
    pNetManager->Release();
    if (NULL == pEnum)
    {
        return ;
    }

    ULONG celtFetched;
    while (pEnum->Next(1, &pNetConnection, &celtFetched) == S_OK)
    {
        NETCON_PROPERTIES* properties;
        pNetConnection->GetProperties(&properties);
        //properties->pszwName; //網絡連接配接的名稱
        //properties->pszwDeviceName; //網卡名稱
        //properties->Status;     //狀态

        //pNetConnection->Disconnect(); //禁用網卡
        //pNetConnection->Connect();    //啟用網卡
    }
    CoUninitialize();
    return ;
}
           

參考位址 代碼來源: 網絡連接配接的擷取,禁用,啟用(VC++)

繼續閱讀