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

S.l.e!ep.¢%

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

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

Posted on 2010-05-19 12:37 S.l.e!ep.¢% 閱讀(6757) 評論(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>
            久久亚洲一区| 欧美第十八页| 狠狠综合久久| 国产精品乱码人人做人人爱| 欧美一区日本一区韩国一区| 国产精品v日韩精品| 亚洲精品专区| 亚洲一区二区三区精品视频| 另类欧美日韩国产在线| 亚洲影视在线| 亚洲欧美日韩综合| 亚洲精品视频一区| 亚洲三级影院| 国产欧美日韩中文字幕在线| 久久综合久久美利坚合众国| 亚洲欧美视频在线观看| 日韩视频在线观看| 亚洲第一成人在线| 亚洲一区在线直播| 美女视频黄a大片欧美| 久久成人免费| 亚洲一区中文字幕在线观看| 一本久道久久综合狠狠爱| 亚洲精品乱码久久久久| 亚洲精品视频中文字幕| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲人成毛片在线播放女女| 在线精品视频一区二区三四| 在线看片欧美| 日韩网站在线观看| 一区二区三区欧美成人| 亚洲一区亚洲| 久久野战av| 136国产福利精品导航| 久久xxxx| 蜜乳av另类精品一区二区| 欧美大片网址| 国产精品视频免费一区| 在线观看中文字幕不卡| 亚洲精品免费在线| 亚洲欧美激情一区二区| 久久久久久久网站| 日韩亚洲成人av在线| 欧美在线网站| 欧美日韩在线一区二区| 国产日韩欧美综合一区| 亚洲日本成人| 久久久噜噜噜| 亚洲视频大全| 欧美成人网在线| 国产情侣一区| 亚洲一区自拍| 亚洲国产高清在线| 新67194成人永久网站| 欧美激情在线观看| 国产综合色精品一区二区三区| 999亚洲国产精| 久久免费精品视频| 宅男66日本亚洲欧美视频| 麻豆国产va免费精品高清在线| 国产乱人伦精品一区二区 | 欧美日产国产成人免费图片| 国产伦精品一区二区三区高清版| 亚洲激情中文1区| 久久精品国产精品| 亚洲一区二区三区久久| 欧美黄色大片网站| 亚洲高清av在线| 久久久久久久久久久成人| 9l视频自拍蝌蚪9l视频成人| 欧美一区二区三区四区夜夜大片| 欧美日韩在线视频观看| 亚洲激情一区二区| 欧美成人激情在线| 久久久99免费视频| 国产一区二区三区奇米久涩 | 亚洲精品护士| 牛牛精品成人免费视频| 国内综合精品午夜久久资源| 亚洲欧美国产精品va在线观看| 亚洲激情第一页| 欧美大学生性色视频| 亚洲国产一成人久久精品| 狂野欧美一区| 麻豆国产精品777777在线 | 欧美色视频在线| 久久全国免费视频| 久久久久在线| 欧美日韩一区二区三| 99精品国产在热久久婷婷| 亚洲欧洲日本一区二区三区| 欧美精品久久久久久| 99亚洲一区二区| 中文在线资源观看网站视频免费不卡 | 久久久欧美精品sm网站| 激情成人综合网| 欧美va亚洲va日韩∨a综合色| 久久久亚洲国产美女国产盗摄| 狠狠色综合播放一区二区| 免费成人高清在线视频| 欧美成人在线免费观看| 一二三区精品| 亚洲图片欧洲图片av| 国产亚洲一区二区三区| 欧美 日韩 国产在线| 免费在线观看精品| 亚洲午夜激情网站| 午夜激情一区| 亚洲人成亚洲人成在线观看| 亚洲六月丁香色婷婷综合久久| 一区二区黄色| 亚洲在线视频网站| 久久精品国产亚洲一区二区| 国产精品白丝黑袜喷水久久久| 亚洲亚洲精品三区日韩精品在线视频| 亚洲国产精品v| 久久激情五月丁香伊人| 亚洲国产天堂久久综合| 一区二区日韩免费看| 国产精品有限公司| 欧美激情aaaa| 欧美视频不卡| 久久综合狠狠综合久久综青草| 欧美高清视频在线| 欧美一站二站| 欧美激情四色| 麻豆精品在线观看| 国产精品久久久久久久久果冻传媒| 久久视频一区二区| 国产精品国产a| 亚洲成人在线视频播放| 国产视频欧美视频| 日韩亚洲精品在线| 亚洲第一中文字幕在线观看| 亚洲欧美日韩国产综合| 日韩西西人体444www| 久久久久国色av免费看影院| 亚洲欧美一区二区原创| 欧美精品高清视频| 裸体一区二区| 黑人一区二区三区四区五区| 亚洲视频日本| 亚洲无线视频| 亚洲精品一区在线| 欧美一区国产在线| 在线视频你懂得一区二区三区| 久久久欧美精品sm网站| 午夜在线视频观看日韩17c| 欧美日韩播放| 亚洲欧洲一区二区在线播放| 激情欧美日韩一区| 欧美综合第一页| 久久久久成人精品| 国产精品自在欧美一区| 一区二区三区国产精华| 一区二区三区四区五区视频| 欧美成人资源| 欧美激情一区二区久久久| 国产精品地址| 在线视频免费在线观看一区二区| 9久草视频在线视频精品| 欧美大片一区二区| 亚洲精品欧洲精品| 亚洲一区二区三区欧美 | 老司机久久99久久精品播放免费| 国产精品青草久久久久福利99| 欧美69wwwcom| 在线观看亚洲| 性8sex亚洲区入口| 美女在线一区二区| 亚洲国产欧美国产综合一区| 欧美fxxxxxx另类| 亚洲电影在线观看| 中日韩视频在线观看| 国产精品videosex极品| 亚洲一级免费视频| 久久三级福利| 亚洲裸体在线观看| 国产精品分类| 欧美在线黄色| 亚洲国产99| 亚洲自拍另类| 国产一区二区三区不卡在线观看| 久久久久久久一区二区| 亚洲成在线观看| 亚洲一线二线三线久久久| 国产精一区二区三区| 久久久久久999| 亚洲精品久久久久久久久久久| 亚洲欧美日产图| 精品成人国产在线观看男人呻吟| 奶水喷射视频一区| 中文日韩在线| 欧美福利视频| 羞羞视频在线观看欧美| 亚洲国产日日夜夜| 国产精品一区二区三区乱码| 麻豆精品一区二区综合av| 一本色道久久综合狠狠躁的推荐| 欧美在线观看你懂的|