HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / NetworkCards /の下で、自分のマシンにインストールされている各ネットワークカードを列挙できます。ただし、一部のアプリケーション、特に仮想マシンは、一部の仮想ネットワークカードをインストールします。
私の質問は、ネットワークカードが仮想カードであるかどうかをプログラムで判断する方法です。
HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / NetworkCards /の下で、自分のマシンにインストールされている各ネットワークカードを列挙できます。ただし、一部のアプリケーション、特に仮想マシンは、一部の仮想ネットワークカードをインストールします。
私の質問は、ネットワークカードが仮想カードであるかどうかをプログラムで判断する方法です。
仮想マシンによって異なります。たとえばQEMUをハードウェアエミュレーションとして使用する場合、それが「本物」ではないと判断するのは非常に困難です。せいぜい、本物よりも高速であることに気付くかもしれませんが、ハードプッシュされるでしょう。それを知るために。
もちろん、仮想マシンには、実際のネットワークカードが仮想マシンにインストールされている場合もあります。したがって、仮想マシンで実行していることをどういうわけか知っていても、それが実際のものであるかどうかを実際に知ることはできません。
「準仮想化」ネットワークアダプタの場合、製造元がCitrix、VMWare、Oracleなどのようなものであることがわかります。
違いを知る正当な理由があるかどうかは完全にはわかりません...