2
在HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/NetworkCards /下,我可以枚舉安裝在我的機器上的每個網卡。但是,某些應用程序(尤其是虛擬機)將安裝一些虛擬網卡。如何以編程方式確定網卡是虛擬的?
我的問題是:如何以編程方式確定網卡是虛擬的?
在HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/NetworkCards /下,我可以枚舉安裝在我的機器上的每個網卡。但是,某些應用程序(尤其是虛擬機)將安裝一些虛擬網卡。如何以編程方式確定網卡是虛擬的?
我的問題是:如何以編程方式確定網卡是虛擬的?
取決於虛擬機。如果它使用例如QEMU作爲硬件仿真,將很難確定它不是「真實的東西」 - 最好的情況是,您可能會注意到它比真實的東西要快,但是您會很難知道這一點。
當然,虛擬機也可能有真正的網卡安裝到虛擬機中。因此,即使您知道您在虛擬機上運行,您也無法確切知道它是否是真實的。
如果是「半虛擬」網絡適配器,那麼您可能會發現製造商是像Citrix,VMWare或Oracle之類的東西,或類似的東西。
我不能完全肯定有一個很好的理由,知道其中的差別...
在退房的文章:http://weblogs.sqlteam.com/mladenp/archive/2010/11/04 /find-only-physical-network-adapters-with-wmi-win32_networkadapter-class.aspx並擺弄邏輯來獲得你想要的。 –