1

ネットワーク インターフェイスの名前、速度、および MAC アドレスを取得したいと考えています。

    var searcher = new ManagementObjectSearcher { Scope = GetConnectedScope(target, "cimv2") };

        try
        {
           searcher.Query = new ObjectQuery("SELECT MACAddress, Speed, Name FROM Win32_NetworkAdapter");

            var nicList = new List<NetworkInterfaceModel>();
            foreach (var item in searcher.Get())
            {
                nicList.Add(new NetworkInterfaceModel
                {
                    NetworkInterfaceName = (string)item["Name"],
                    NetworkInterfaceSpeed = (double)(item["Speed"] != null ? (ulong) item["Speed"] : 0)/1000/1000,
                    MacAddress = (string)item["MACAddress"]
                });
            }

Windows 7 と Vista では問題なく動作しますが、XP と Windows Server 2003 では速度が上がりませんでした。XP および Server 2003 の速度を取得するにはどうすればよいですか?

4

3 に答える 3

1

Win32_NetworkAdapterhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa394216(v=vs.85).aspxspeedによると、XP ではプロパティをサポートしていません。

Windows Server 2003、Windows XP、Windows 2000、および Windows NT 4.0: このプロパティはまだ実装されていません。デフォルトでは NULL 値を返します。

代わりにCIM_NetworkAdapter、同じプロパティを持つクラスを使用してください。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa387931(v=vs.85).aspx

于 2012-10-18T15:19:33.317 に答える