public Wlan.WlanBssEntryN[] GetNetworkBssList(string ssid, bool securityEnabled)
        {
            // Create SSID struct
            Wlan.Dot11Ssid dSsid = new Wlan.Dot11Ssid();
            byte[] ssidTotalBytes = new byte[0x20];
            byte[] ssidBytes = Encoding.ASCII.GetBytes(ssid);
            Buffer.BlockCopy(ssidBytes,0,ssidTotalBytes,0,ssidBytes.Length > ssidTotalBytes.Length ? ssidTotalBytes.Length : ssidBytes.Length);

            dSsid.SSID = ssidTotalBytes;
            dSsid.SSIDLength = (uint)ssidBytes.Length;

            return GetNetworkBssList(dSsid, Wlan.Dot11BssType.Infrastructure, securityEnabled);
        }
 public void Connect(Wlan.WlanConnectionMode connectionMode, Wlan.Dot11BssType bssType, Wlan.Dot11Ssid ssid, Wlan.WlanConnectionFlags flags)
 {
     Wlan.WlanConnectionParameters parameters2 = new Wlan.WlanConnectionParameters
     {
         wlanConnectionMode = connectionMode,
         dot11SsidPtr       = Marshal.AllocHGlobal(Marshal.SizeOf(ssid)),
         dot11BssType       = bssType,
         flags = flags
     };
     Wlan.WlanConnectionParameters connectionParams = parameters2;
     this.Connect(connectionParams);
     Marshal.StructureToPtr(ssid, connectionParams.dot11SsidPtr, false);
     Marshal.DestroyStructure(connectionParams.dot11SsidPtr, ssid.GetType());
     Marshal.FreeHGlobal(connectionParams.dot11SsidPtr);
 }