讀取登錄檔方式,jregistrykey.jar與jregistrykey.dll.通過「characteristics」值確定虛擬網絡卡還是物理網絡卡。該值在登錄檔的位置hkey_local_machine\system\controlset001\control\class\\
【連線索引號】\下
private
static
intncf_physical
= 0x4;
//元件是乙個物理介面卡
private
static
intncf_software_enumerated
= 0x2;
//元件是乙個軟體模擬的介面卡
private
static
intncf_virtual
= 0x1;
//元件是個虛擬介面卡
private
static
intncf_hidden
= 0x8;
//元件不顯示使用者介面
private
static
intncf_no_service
= 0x10;
//元件沒有相關的服務
(裝置驅動程式
)private
static
intncf_not_user_removable
= 0x20;
//不能被使用者刪除
(例如,通過控制面板或裝置管理器
)private
static
intncf_multiport_instanced_adapter
= 0x40;
//元件有多個埠,每個埠作為單獨的裝置安裝。每個埠有自己的
hw_id(
元件id)
並可被單獨安裝,這只適合於
eisa
介面卡private
static
intncf_has_ui
= 0x80;
//元件支援使用者介面
(例如,
advanced page
或customer properties sheet)
private
static
intncf_filter
= 0x400;
//元件是乙個過濾器
根據characteristics
值當
如果是虛擬網絡卡:characteristics& ncf_virtual ==ncf_virtual
如果是物理網絡卡:characteristics& ncf_physical ==ncf_physical
該方式會把微軟回環網絡卡也取到,所以應新增使用者介面判斷,去掉環迴網絡卡。
物理網絡卡:characteristics& ncf_physical ==ncf_physical && characteristics &
ncf_has_ui ==ncf_has_ui
private static string path = "system\\\\controlset001\\\\control\\\\class\\\\";
private static string wlan_path ="\\ndi\\inte***ces";
/** * 獲取子健集合
* @param str
* @return
*/public list getrekeylist(string str)
} return list;
}/**
* 讀取鍵值
*/public string getrevaluebypath(string path,string key)
return str;
}/**
* 列舉某鍵的所有值
* @param path
*/public void listvalueforkey(string path) } }
增添虛擬網絡卡
ifconfig eth0 0 192.168.10.10 up以上的命令就可以在eth0網絡卡上建立乙個叫eth0 0的虛擬網絡卡,他的位址是 192.168.1.63 如果不想要這個虛擬網絡卡了,可以使用如下命令刪除 ifconfig eth0 0 down 重啟伺服器或者網路後,虛擬網絡卡就沒...
Ubuntu新增虛擬網絡卡
首先檢視當前網絡卡 以上eth0是第乙個網絡卡,lo表示local的不用管,然後依次ethernet hwaddr表示網絡卡的mac位址,inet addr是網路位址,bcast是廣播位址,mask是子網掩碼 inet6addr類似於ipv6 新增網絡卡使用 sudo ifconfig eth0 網...
10 虛擬網絡卡驅動
3 測試 回顧字元裝置驅動編寫框架 回顧塊裝置驅動編寫框架 若干層網路協議 純軟體 hard start xmit 上報 發包 netif rx 傳輸的是包,放在sk buff裡 硬體相關的驅動程式 要提供hard start xmit,有資料時要用netif rx上報 硬體 怎麼寫網絡卡驅動程式?...