/// <summary> /// Enumerates wireless LAN information on BSS networks. /// </summary> /// <returns>Wireless LAN information</returns> public static IEnumerable <BssNetworkPack> EnumerateBssNetworks() { using (var client = new Base.WlanClient()) { var interfaceInfoList = Base.GetInterfaceInfoList(client.Handle); foreach (var interfaceInfo in interfaceInfoList.Select(x => ConvertToInterfaceInfo(x))) { var networkBssEntryList = Base.GetNetworkBssEntryList(client.Handle, interfaceInfo.Id); foreach (var networkBssEntry in networkBssEntryList) { //Debug.WriteLine("Interface: {0}, SSID: {1}, BSSID: {2}, Signal: {3} Link: {4}, Frequency: {5}", // interfaceInfo.Description, // networkBssEntry.dot11Ssid, // networkBssEntry.dot11Bssid, // networkBssEntry.lRssi, // networkBssEntry.uLinkQuality, // networkBssEntry.ulChCenterFrequency); yield return(new BssNetworkPack( interfaceInfo: interfaceInfo, ssid: new NetworkIdentifier(networkBssEntry.dot11Ssid.ToBytes(), networkBssEntry.dot11Ssid.ToString()), bssType: ConvertToBssType(networkBssEntry.dot11BssType), bssid: new NetworkIdentifier(networkBssEntry.dot11Bssid.ToBytes(), networkBssEntry.dot11Bssid.ToString()), signalStrength: networkBssEntry.lRssi, linkQuality: (int)networkBssEntry.uLinkQuality, frequency: (int)networkBssEntry.ulChCenterFrequency, channel: DetectChannel(networkBssEntry.ulChCenterFrequency))); } } } }