青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

如何區分虛擬網卡與物理網卡

Posted on 2010-05-19 12:37 S.l.e!ep.¢% 閱讀(6770) 評論(2)  編輯 收藏 引用 所屬分類: VC

若系統中安裝了 VMWare 或者某些 VPN 客戶端軟件,則會出現若干虛擬網卡。它們在形式上與物理網卡幾乎沒有區別。 ipconfig 將它們與本地物理網卡等同對待。 那如何在如何區分虛擬網卡還是物理網卡呢?

有些人建議使用 MAC 地址中的 "locally administread bit" 來區分。但是事實上不能100%區分,在win2000之后的系統基本是行不通的。
http://hi.baidu.com/xzq2000/blog/item/43b686d672cd762f07088b95.html

有人用GetAdaptersInfo 可以獲得本機所有網卡的信息,然后通過判斷是否“pci”開頭來區分是否虛擬網卡。http://blog.csdn.net/aseity/archive/2007/12/11/1929948.aspx 具體代碼如下:(以下代碼引用別處)

bool IsLocalAdapter ( const char *pAdapterName ) const
...{
?BOOL ret_value = FALSE;

#define NET_CARD_KEY "System\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}"
?char szDataBuf[MAX_PATH+1];
?DWORD dwDataLen = MAX_PATH;
?DWORD dwType = REG_SZ;
?HKEY hNetKey = NULL;
?HKEY hLocalNet = NULL;

?if(ERROR_SUCCESS != RegOpenKeyEx(HKEY_LOCAL_MACHINE, NET_CARD_KEY, 0, KEY_READ, &hNetKey))
?return FALSE;
?sprintf(szDataBuf, "%s\Connection", pAdapterName);
?if(ERROR_SUCCESS != RegOpenKeyEx(hNetKey ,szDataBuf ,0 ,KEY_READ, &hLocalNet))
?...{
?RegCloseKey(hNetKey);
?return FALSE;
?}
?if (ERROR_SUCCESS != RegQueryValueEx(hLocalNet, "MediaSubType", 0, &dwType, (BYTE *)szDataBuf, &dwDataLen))
?...{
?goto ret;
?}
?if (*((DWORD *)szDataBuf)!=0x01)
?goto ret;
?dwDataLen = MAX_PATH;
?if (ERROR_SUCCESS != RegQueryValueEx(hLocalNet, "PnpInstanceID", 0, &dwType, (BYTE *)szDataBuf, &dwDataLen))
?...{
?goto ret;
?}
?if (strncmp(szDataBuf, "PCI", strlen("PCI")))
?goto ret;

?ret_value = TRUE;

ret:
?RegCloseKey(hLocalNet);
?RegCloseKey(hNetKey);

?return ret_value!=0;

}


這樣方法基本可以達到目標,但是也存在不能識別所有網卡類型。
還有一種更簡單,而且可以100%識別的方法,就是通過“Characteristics”這個值來確定網卡的類型是虛擬網卡還是物理網卡。

Characteristics 值在注冊表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\數字下。

在windows中,Characteristics 的取值如下,Characteristics項可以有1個或多個如下的值(多值應計算總和):

十六進制值 名字 描述

ox1 NCF_VIRTUAL 說明組件是個虛擬適配器
ox2 NCF_SOFTWARE_ENUMERATED 說明組件是一個軟件模擬的適配器
ox4 NCF_PHYSICAL 說明組件是一個物理適配器
ox8 NCF_HIDDEN 說明組件不顯示用戶接口
ox10 NCF_NO_SERVICE 說明組件沒有相關的服務(設
備驅動程序)
ox20 NCF_NOT_USER_REMOVABLE 說明不能被用戶刪除(例如,
通過控制面板或設備管理器)
ox40 NCF_MULTIPORT_INSTANCED_ADAPTER 說明組件有多個端口,每個端
口作為單獨的設備安裝。每個
端口有自己的hw_id(組件ID)
并可被單獨安裝,這只適合于
EISA適配器
ox80 NCF_HAS_UI 說明組件支持用戶接口(例如,
Advanced Page或Customer
Properties Sheet)
ox400 NCF_FILTER 說明組件是一個過濾器

從上面可以看出來,只要用戶判斷“Characteristics ”的值就可以判斷網卡是虛擬網卡還是物理網卡。

如果是虛擬網卡:Characteristics & NCF_VIRTUAL ==NCF_VIRTUAL

如果是物理網卡:Characteristics & NCF_PHYSICAL ==NCF_PHYSICAL

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/jianghui3132749/archive/2009/11/25/4868350.aspx

Feedback

# re: 如何區分虛擬網卡與物理網卡  回復  更多評論   

2010-06-18 15:50 by nwling
請問有關Characteristics這個值的資料是從哪里找的,為什么我的機子的取值與你說的不對應,

謝謝

# re: 如何區分虛擬網卡與物理網卡  回復  更多評論   

2010-11-15 15:14 by KIM
目前驗證完全正確。謝謝!
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩视频一区二区三区在线播放免费观看 | 一区二区日本视频| 国产亚洲成年网址在线观看| 亚洲激情不卡| 国产亚洲欧美一级| 99re6这里只有精品视频在线观看| 国产三级精品三级| 亚洲美女中出| 亚洲精品孕妇| 久久天天躁狠狠躁夜夜爽蜜月| 性视频1819p久久| 欧美日韩国产小视频| 欧美成人有码| 亚洲国产经典视频| 久久久久久久国产| 久久裸体视频| 国产一区二区中文字幕免费看| 亚洲婷婷在线| 亚洲欧美日韩在线高清直播| 欧美日韩精品综合| 亚洲美女av在线播放| 亚洲国产二区| 免费久久99精品国产自| 免费久久99精品国产| 激情综合在线| 久久成人免费网| 久久久亚洲高清| 国内精品伊人久久久久av影院| 亚洲欧美另类国产| 欧美在线看片a免费观看| 国产精品一区二区你懂得| 一区二区欧美国产| 亚洲欧美日韩在线不卡| 国产精品一区二区你懂得| 亚洲欧美一级二级三级| 久久99在线观看| 国产一本一道久久香蕉| 久久精品1区| 欧美高清视频在线播放| 亚洲精品一区二区三区av| 欧美日韩国产成人在线91| 99日韩精品| 欧美中文在线观看国产| 激情久久综合| 欧美精品18| 亚洲一区二区三区色| 欧美一区二区三区播放老司机| 国产亚洲免费的视频看| 另类图片国产| 99精品福利视频| 欧美主播一区二区三区美女 久久精品人| 国产精品一区免费观看| 久久久天天操| 亚洲精品资源美女情侣酒店| 午夜一级在线看亚洲| 一色屋精品视频免费看| 欧美精品一卡二卡| 午夜欧美精品| 亚洲福利国产精品| 性刺激综合网| 亚洲福利小视频| 国产精品久久久久久久久搜平片 | 久久精品一区二区三区不卡牛牛| 欧美成人自拍| 亚洲欧美国产日韩天堂区| 国内精品伊人久久久久av一坑| 欧美成人免费在线| 亚洲一区二区在线播放| 欧美国产精品劲爆| 午夜精品一区二区三区四区| 亚洲国产精品成人精品| 国产精品大片wwwwww| 久久一综合视频| 亚洲女ⅴideoshd黑人| 欧美国产先锋| 欧美一站二站| 正在播放亚洲| 亚洲国产精品久久久久秋霞不卡| 国产精品久久久久久久7电影 | 欧美激情久久久久久| 亚洲欧美日韩直播| 亚洲国产精品小视频| 久久成人免费日本黄色| 在线亚洲伦理| 91久久久亚洲精品| 韩国av一区二区三区在线观看| 欧美视频亚洲视频| 欧美搞黄网站| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲影视综合| 一本色道久久综合亚洲精品小说| 欧美激情一级片一区二区| 久久国产主播精品| 午夜精品久久久久久久99黑人| 99日韩精品| 亚洲精品一线二线三线无人区| 一区二区三区在线不卡| 国产视频精品xxxx| 国产精品视频网站| 欧美午夜在线观看| 欧美日韩国产综合视频在线观看| 麻豆freexxxx性91精品| 久久久av水蜜桃| 久久成人资源| 久久福利毛片| 久久精品一区二区三区四区| 欧美在线免费视屏| 欧美专区日韩视频| 久久高清国产| 久久精品国产综合精品| 久久精品国产99国产精品| 香蕉尹人综合在线观看| 午夜精品网站| 欧美中文字幕视频| 久久久国产亚洲精品| 久久久国产视频91| 另类专区欧美制服同性| 免费亚洲一区| 欧美激情一区二区| 欧美日韩另类字幕中文| 欧美体内she精视频在线观看| 欧美日韩免费观看一区三区| 欧美三级视频在线观看| 国产精品黄色| 国产亚洲成精品久久| 一色屋精品视频免费看| 亚洲国产成人久久综合| 亚洲乱码视频| 亚洲视频你懂的| 久久成人资源| 欧美国产成人精品| 99精品福利视频| 亚洲欧美一区二区激情| 久久不射中文字幕| 欧美不卡一区| 国产精品九色蝌蚪自拍| 国产日韩在线不卡| 最新69国产成人精品视频免费| 一区二区三区色| 久久精品国产欧美亚洲人人爽| 欧美成人dvd在线视频| 亚洲欧洲精品一区二区三区不卡 | 久久久综合香蕉尹人综合网| 欧美成人午夜激情| 夜夜爽99久久国产综合精品女不卡| 亚洲综合好骚| 欧美freesex8一10精品| 国产精品免费一区豆花| 怡红院精品视频在线观看极品| 99热这里只有精品8| 久久精品99无色码中文字幕| 免费欧美日韩| 一区二区欧美亚洲| 免费成人av在线看| 国产伦精品一区二区三区四区免费| 精品成人在线视频| 亚洲免费视频网站| 欧美黄色成人网| 亚洲欧美综合一区| 欧美国产视频日韩| 国内精品福利| 午夜国产精品影院在线观看| 亚洲丶国产丶欧美一区二区三区| 亚洲制服少妇| 欧美日韩国产一区二区| 韩国欧美国产1区| 午夜国产精品视频| 日韩网站在线看片你懂的| 久久阴道视频| 国产在线观看91精品一区| 亚洲永久精品国产| 亚洲国产日韩欧美在线图片 | 久久久99国产精品免费| 国产精品久久久| 夜色激情一区二区| 亚洲成色999久久网站| 欧美专区第一页| 国产乱码精品一区二区三区五月婷 | 亚洲国产精品一区二区www在线| 欧美在线观看网址综合| 夜夜精品视频| 欧美日韩在线高清| 99在线热播精品免费| 欧美国产大片| 男人插女人欧美| 亚洲经典一区| 欧美激情精品久久久久久黑人 | 国内精品视频一区| 欧美一区二区日韩| 亚洲欧美国产高清| 国产精品一国产精品k频道56| 中文日韩在线| 宅男精品视频| 国产精品嫩草99av在线| 亚洲欧美在线高清| 亚洲尤物在线视频观看| 国产免费亚洲高清| 久久精品女人的天堂av| 欧美主播一区二区三区美女 久久精品人 | 亚洲欧美日韩在线播放|