コード例 #1
0
ファイル: TestUtil.cs プロジェクト: vmkc/research-environment
        public static void WriteInterfaceLine([Claims] InterfaceInfo ifInfo, string !ifName)
        {
            bool found = false;

            delete ifInfo.driverName;
            delete ifInfo.driverVersion;

            InterfaceIPInfo[] in ExHeap ipConfigs = ifInfo.ipConfigs;

            if (ipConfigs != null)
            {
                for (int i = 0; i < ipConfigs.Length; i++)
                {
                    InterfaceIPInfo ipc  = ipConfigs[i];
                    IPv4            ipv4 = new IPv4(ipc.address);

                    Console.WriteLine("TESTUTIL:IPAddress: {0,-14}", ipv4);
                    DebugStub.WriteLine("TESTUTIL:IPAddress:{0}:", __arglist(ipv4.ToString()));
                    found |= true;
                }
                delete ipConfigs;
            }

            if (found == false)
            {
                DebugStub.WriteLine("TESTUTIL:IPAddress: Not available.");
            }
        }
コード例 #2
0
        public InterfaceInfo GetInterfaceState(String ifName)
        {
            IAdapter intf = FindAdapter(ifName);

            if (intf == null)
            {
                throw new Exception("GetInterfaceState");
            }
            else
            {
                HostConfiguration h      = IP.GetHostConfiguration();
                InterfaceInfo     retval = new InterfaceInfo();

                // Copy the global interface info
                retval.driverName      = intf.DriverName;
                retval.driverVersion   = intf.DriverVersion;
                retval.hardwareAddress = intf.HardwareAddress;
                retval.linkSpeed       = intf.LinkSpeed;

                // Copy all the IP config info
                ArrayList         configs   = h.Bindings.GetAdapterIPConfigurations(intf);
                InterfaceIPInfo[] ipConfigs = new InterfaceIPInfo[configs.Count];
                int i = 0;

                foreach (InterfaceIPConfiguration ipc in configs)
                {
                    ipConfigs[i]         = new InterfaceIPInfo();
                    ipConfigs[i].address = (uint)ipc.Address;
                    ipConfigs[i].netmask = (uint)ipc.NetMask;
                    ipConfigs[i].gateway = (uint)ipc.Gateway;
                    i++;
                }

                retval.ipConfigs = ipConfigs;
                return(retval);
            }
        }