WMI を使用して、ネットワーク アダプタの状態に関するさまざまな項目を検出しています。私が知る必要があるのは、(a) 速度と (b) デュプレックスです。
WMI と次の Python コードを使用して、ネットワーク アダプターの速度を検出できました。
from pycom.client import wmi
dev_name = r"\\DEVICE\\{287EB4BB-5C2A-4108-B377-15E1D0B0E760}"
query1 = """
SELECT *
FROM MSNdis_EnumerateAdapter
WHERE DeviceName = '%s'""" % dev_name
wmi_ndis = wmi.WMI("root\\WMI")
results = wmi_ndis.ExecQuery(query1)
instance_name = results[0].InstanceName
del results
query2="""
SELECT *
FROM MSNdis_LinkSpeed
WHERE InstanceName='%s'""" % instance_name
results = wmi_ndis.ExecQuery(query2)
linkspeed = results[0].NdisLinkSpeed
del results
print instance_name, linkspeed
del instance_name
del linkspeed
del wmi_ndis
必要なデータに最適なクラス、MSNDis_LinkParameters があるようです。ただし、この表にはデータが取り込まれていないようです。Win32_NetworkAdapter にも値がありますが、それらも設定されていません。
ネイティブの C API または WMI を使用したいのですが、アプリケーションは任意の言語で動作する必要があるため、スクリーン スクレイピングはできません。ありがとう!