C 重啟網絡卡

2021-06-21 22:17:33 字數 1934 閱讀 1534

許多網絡卡修改mac後需要重啟才能生效,下面介紹一下用程式設計實現重啟網絡卡的功能:

標頭檔案

#include

api:

1.setupdigetclassdevs

獲得裝置資訊列表

2.setupdienumdeviceinfo

列舉裝置資訊

迴圈查詢:

;//設定引數:

sp_propchange_params.classinstallheader.installfunction = dif_propertychange;

sp_propchange_params.scope = dics_flag_global;

sp_propchange_params.statechange = dics_disable(or dics_enable);

6.setupdicallclassinstaller(dif_propertychange,hdevinfo,pdevinfodata)

使設定生效.

}使用同樣的方法,先dics_disable再dics_enable,即可重啟網絡卡.

///看看例子//來自csdn

bool cnetcardstateset::netcardstatechange(void * netcardpoint, bool enabled)

/*setupdigetclassdevs( 

(lpguid) &guid_devclass_net,    // guid_devclass_net表示僅列出網路裝置 

null,  

this->m_hwnd,  

digcf_present); 

*/sp_devinfo_data deviceinfodata = ;

dword status, problem;

if (!setupdienumdeviceinfo(hdevinfo,deviceid,&deviceinfodata))  //

return false;

if (cm_get_devnode_status(&status, &problem,

deviceinfodata.devinst,0) != cr_success)   //讀取網絡卡狀態

return false;

sp_propchange_params propchangeparams = ;

propchangeparams.classinstallheader.installfunction = dif_propertychange;

propchangeparams.scope = dics_flag_global;

if (enabled)

propchangeparams.statechange = dics_enable;

} else

if (!((status & dn_disableable) && (cm_prob_hardware_disabled != problem)))

return false;

propchangeparams.statechange = dics_disable;

} if (!setupdisetclassinstallparams(hdevinfo, &deviceinfodata,(sp_classinstall_header *)&propchangeparams, sizeof(propchangeparams)))

if (!setupdicallclassinstaller(dif_propertychange, hdevinfo, &deviceinfodata))

if (cm_get_devnode_status(&status, &problem,deviceinfodata.devinst,0) == cr_success)

return true;

}

重啟網絡卡失敗

命令列中輸入網絡卡重啟命令ifdown eth0 ifup eth0出現如下錯誤 job for network.service failed because the control process exited with error code.see systemctl status networ...

wince中重啟網絡卡

下面先貼出我的 wchar name t cs89001 0 handle m hfilehandle createfile t nds0 0,0,null,open existing,file attribute normal,handle invalid handle value if m hf...

sa 網絡卡自動重啟

上周五有開發反應一台機器的網路有問題,eth0的網路包接受有錯誤,具體如下 eth0 link encap ethernet hwaddr bc 30 5b f7 99 94 broadcast multicast mtu 1500 metric 1 rx packets 22258496272 e...