Exemple #1
0
        private void FillNetworkInfo(NetworkAdapter adapter)
        {
            //List the connected networks. There are many other APIs
            //can be called to get network information.
            try
            {
                IEnumNetworkConnections connections = NetworkListManager.GetNetworkConnections();
                foreach (INetworkConnection con in connections)
                {
                    var adapterId = con.GetAdapterId();
                    if (adapter.Id != adapterId)
                    {
                        continue;
                    }

                    //var connectionId = con.GetConnectionId();
                    adapter.ConnectivityString    = GetConnectivity(con.GetConnectivity());
                    adapter.IsConnected           = con.IsConnected;
                    adapter.IsConnectedToInternet = con.IsConnectedToInternet;
                    INetwork network = con.GetNetwork();
                    adapter.NetworkName = network.GetName();
                    // var networkCategory = network.GetCategory();
                    //var adapter = _networkAdapters.FirstOrDefault(x => x.Id == adapterId);
                }
            }
            catch (Exception ex)
            {
                Logging.Log("Error: " + ex.ToString());
            }

            //AdviseforNetworklistManager();

            // UnAdviseforNetworklistManager();
        }
        private List <Connection> GetCurrentConnectionsByNetwork(Guid networkID)
        {
            INetwork network = null;
            IEnumNetworkConnections   enumConnections = null;
            List <INetworkConnection> connections     = new List <INetworkConnection>();

            try
            {
                var results = new List <Connection>();

                network         = _manager.GetNetwork(networkID);
                enumConnections = network.GetNetworkConnections();
                connections.AddRange(enumConnections.Cast <INetworkConnection>());

                return(connections.Select(ConvertConnection).ToList());
            }
            catch (COMException e) when((uint)e.ErrorCode == 0x8000FFFF)
            {
                return(null);
            }
            finally
            {
                foreach (var connection in connections)
                {
                    ReleaseComObject(connection);
                }
                ReleaseComObject(enumConnections);
                ReleaseComObject(network);
            }
        }
Exemple #3
0
 void IDisposable.Dispose()
 {
     if (conns == null)
     {
         return;
     }
     Marshal.FinalReleaseComObject(conns);
     conns = null;
 }
Exemple #4
0
            private static IEnumerable <NetworkConnection> GetItems(IEnumNetworkConnections conns)
            {
                IEnumerable <NetworkConnection> ie = null;

                try
                {
                    ie = (conns ?? Manager?.GetNetworkConnections()).Cast <INetworkConnection>().Select(i => new NetworkConnection(i));
                }
                catch (UnauthorizedAccessException) { }
                catch (ExternalException) { }
                return(ie);
            }
Exemple #5
0
 internal NetworkConnectionIterator(IEnumNetworkConnections conns = null)
 {
     this.conns = conns;
 }
Exemple #6
0
 void IDisposable.Dispose()
 {
     conns = null;
 }