所有网络接口都有一个 GUID,它唯一地将它们区分开来,并用于在 Win 环境中进行单独操作,这就是 ID。
idx 不直接分配给 NIC,但它被 Windows 管理系统用作用户设置详细信息的友好方式。
这里有一段代码显示如何访问可能包含信息的 ManagementObjectSearcher,您必须解析结果(而不是只选择下面的名称)
internal static IEnumerable<string> GetConnectedCardNames()
{
string query = String.Format(@"SELECT * FROM Win32_NetworkAdapter");
var searcher = new ManagementObjectSearcher
{
Query = new ObjectQuery(query)
};
try
{
log.Debug("Trying to select network adapters");
var adapterObjects = searcher.Get();
var names = (from ManagementObject o in adapterObjects
select o["Name"])
.Cast<string>();
return names;
}
catch (Exception ex)
{
log.Debug("Failed to get needed names, see Exception log for details");
log.Fatal(ex);
throw;
}
}