Exemplo n.º 1
0
        private void setNetworkSettings(string ssid, int maxPeers)
        {
            NativeWLanAPI._DOT11_SSID ossid = new NativeWLanAPI._DOT11_SSID();
            NativeWLanAPI._WLAN_HOSTED_NETWORK_CONNECTION_SETTINGS settings = new NativeWLanAPI._WLAN_HOSTED_NETWORK_CONNECTION_SETTINGS();

            if (ssid.Length > 32)
            {
                throw new ArgumentException("Wi-Fi名称必须小于32个字符");
            }
            else
            {
                ossid.uSSIDLength          = (uint)ssid.Length;
                ossid.ucSSID               = ssid;
                settings.hostedNetworkSSID = ossid;
            }

            if (maxPeers == 0)
            {
                throw new ArgumentException("Max number of peers must be greater than 0");
            }
            settings.dwMaxNumberOfPeers = (uint)maxPeers;

            int    size      = Marshal.SizeOf(settings);
            IntPtr pSettings = Marshal.AllocHGlobal(size);

            Marshal.StructureToPtr(settings, pSettings, true);
            NativeWLanAPI._WLAN_HOSTED_NETWORK_OPCODE opcode = NativeWLanAPI._WLAN_HOSTED_NETWORK_OPCODE._WLAN_HOSTED_NETWORK_OPCODE_connection_settings;

            NativeWLanAPI.WlanHostedNetworkSetProperty(handle, opcode, (uint)size, pSettings, out lastError, IntPtr.Zero);
            checkStatusAndThrow("设置Wi-Fi名称失败");

            Marshal.FreeHGlobal(pSettings);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Enables the Software AP. Sometimes when Start() won't work, Enable() and then Start() might work.
        /// </summary>
        public void Enable()
        {
            NativeWLanAPI._WLAN_HOSTED_NETWORK_OPCODE opcode = NativeWLanAPI._WLAN_HOSTED_NETWORK_OPCODE._WLAN_HOSTED_NETWORK_OPCODE_enable;

            int size = Marshal.SizeOf(new Int32());

            IntPtr setting = Marshal.AllocHGlobal(size);

            Marshal.WriteInt32(setting, 1);

            lastErrorCode = (int)NativeWLanAPI.WlanHostedNetworkSetProperty(handle, opcode, (uint)size, setting, out lastError, IntPtr.Zero);

            Marshal.FreeHGlobal(setting);

            checkStatusAndThrow("Could not enable Hosted Access Point! ");
        }