コード例 #1
0
ファイル: WlanManager.cs プロジェクト: vzabrodin/netshare
        /// <summary>
        /// Initializes access point
        /// </summary>
        private void Init()
        {
            try
            {
                WlanUtils.ThrowOnWin32Error(
                    wlanapi.WlanOpenHandle(
                        wlanapi.WLAN_CLIENT_VERSION_VISTA,
                        IntPtr.Zero,
                        out _ServerVersion,
                        ref _WlanHandle));

                WLAN_NOTIFICATION_SOURCE notificationSource;
                WlanUtils.ThrowOnWin32Error(
                    wlanapi.WlanRegisterNotification(
                        _WlanHandle,
                        WLAN_NOTIFICATION_SOURCE.ALL,
                        true,
                        _notificationCallback,
                        IntPtr.Zero,
                        IntPtr.Zero,
                        out notificationSource));

                WLAN_HOSTED_NETWORK_REASON failReason = InitSettings();
                if (failReason != WLAN_HOSTED_NETWORK_REASON.SUCCESS)
                {
                    throw new Exception("Init Error WlanHostedNetworkInitSettings: " + failReason.ToString());
                }
            }
            catch
            {
                wlanapi.WlanCloseHandle(_WlanHandle, IntPtr.Zero);
                throw new Exception("Failed to create instance of hosted network\nMaybe your computer doesn't support hosted network");
            }
        }
コード例 #2
0
        private void Init()
        {
            try {
                WlanUtils.Throw_On_Win32_Error(wlanapi.WlanOpenHandle(wlanapi.WLAN_CLIENT_VERSION_VISTA, IntPtr.Zero, out this._ServerVersion, ref this._WlanHandle));


                WLAN_NOTIFICATION_SOURCE notifSource;
                WlanUtils.Throw_On_Win32_Error(wlanapi.WlanRegisterNotification(this._WlanHandle, WLAN_NOTIFICATION_SOURCE.All, true, this._notificationCallback, IntPtr.Zero, IntPtr.Zero, out notifSource));


                WLAN_HOSTED_NETWORK_REASON failReason = this.InitSettings();
                if (failReason != WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_success)
                {
                    throw new Exception("Init Error WlanHostedNetworkInitSettings: " + failReason.ToString());
                }

                //我加的
                var netStat = QueryStatus();
                _HostedNetworkState = netStat.HostedNetworkState;
                foreach (var i in netStat.PeerList)
                {
                    WlanStation station = new WlanStation(i);
                    _Stations[station.MacAddress] = station;
                }
            } catch {
                wlanapi.WlanCloseHandle(this._WlanHandle, IntPtr.Zero);
                throw;
            }
        }
コード例 #3
0
 public static extern uint WlanHostedNetworkSetSecondaryKey(
     IntPtr hClientHandle,
     uint dwKeyLength,
     [In, MarshalAs(UnmanagedType.LPStr)] string pucKeyData,
     bool bIsPassPhrase, bool bPersistent,
     [Out] out WLAN_HOSTED_NETWORK_REASON pFailReason,
     IntPtr pReserved);
コード例 #4
0
        private void Initialize()
        {
            uint result = wlanapi.WlanOpenHandle(wlanapi.WLAN_CLIENT_VERSION_VISTA, IntPtr.Zero, out uint ServerVersion, ref WlanHandle);

            if (result != 0)
            {
                throw new Exception("WlanOpenHandleEx");
            }

            result = wlanapi.WlanRegisterVirtualStationNotification(WlanHandle, true, IntPtr.Zero);
            if (result != 0)
            {
                throw new Exception("WlanRegisterVirtualStationNotificationEx");
            }

            result = wlanapi.WlanRegisterNotification(
                WlanHandle, WLAN_NOTIFICATION_SOURCE.WLAN_NOTIFICATION_SOURCE_ALL, true, NotificationCallback, IntPtr.Zero, IntPtr.Zero, out WLAN_NOTIFICATION_SOURCE notifSource);
            if (result != 0)
            {
                throw new Exception("WlanRegisterNotificationEx");
            }

            WLAN_HOSTED_NETWORK_REASON failReason = InitSettings();

            if (failReason != WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_success)
            {
                throw new Exception("WlanHostedNetworkInitSettingsEx: " + failReason.ToString());
            }
        }
コード例 #5
0
 public static extern uint WlanHostedNetworkQuerySecondaryKey(
     IntPtr hClientHandle,
     [Out] out uint pKeyLength,
     [Out, MarshalAs(UnmanagedType.LPStr)] out string ppucKeyData,
     [Out] out bool pbIsPassPhrase, [Out] out bool pbPersistent,
     [Out] out WLAN_HOSTED_NETWORK_REASON pFailReason,
     IntPtr pReserved);
コード例 #6
0
 public static extern uint WlanHostedNetworkSetProperty(
     [In] IntPtr hClientHandle,
     [In] WLAN_HOSTED_NETWORK_OPCODE OpCode,
     [In] uint dwDataSize,
     [In] IntPtr pvData,
     [Out, Optional] out WLAN_HOSTED_NETWORK_REASON pFailReason,
     IntPtr pvReserved);
コード例 #7
0
 public static extern uint WlanHostedNetworkQuerySecondaryKey(
     [In] IntPtr hClientHandle,
     [Out] out uint pdwKeyLength,
     [Out] out IntPtr ppucKeyData,
     [Out, MarshalAs(UnmanagedType.Bool)] out bool pbIsPassPhrase,
     [Out, MarshalAs(UnmanagedType.Bool)] out bool pbPersistent,
     [Out, Optional] out WLAN_HOSTED_NETWORK_REASON pFailReason,
     IntPtr pvReserved);
コード例 #8
0
        public void set(WLAN_HOSTED_NETWORK_OPCODE code, T Value, out WLAN_HOSTED_NETWORK_REASON failReason)
        {
            dataPtr = Marshal.AllocHGlobal(Marshal.SizeOf(Value));
            Marshal.StructureToPtr(Value, dataPtr, false);

            WiFiUtils.Throw_On_Win32_Error(
                wlanapi.WlanHostedNetworkSetProperty(
                    handle,
                    code,
                    (uint)Marshal.SizeOf(Value), dataPtr, out failReason, IntPtr.Zero
                    )
                );
        }
コード例 #9
0
 private void Init()
 {
     try
     {
         WiFiUtils.Throw_On_Win32_Error(wlanapi.WlanOpenHandle(wlanapi.WLAN_CLIENT_VERSION_VISTA, IntPtr.Zero, out this._ServerVersion, ref this._WlanHandle));
         WLAN_NOTIFICATION_SOURCE notifSource;
         WiFiUtils.Throw_On_Win32_Error(wlanapi.WlanRegisterNotification(this._WlanHandle, WLAN_NOTIFICATION_SOURCE.All, true, this._notificationCallback, IntPtr.Zero, IntPtr.Zero, out notifSource));
         WLAN_HOSTED_NETWORK_REASON failReason = this.InitSettings();
         if (failReason != WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_success)
         {
             Trace.TraceInformation("WiFi Init Error WlanHostedNetworkInitSettings: " + failReason.ToString());
             throw new Exception("Init Error WlanHostedNetworkInitSettings: " + failReason.ToString());
         }
     }
     catch
     {
         wlanapi.WlanCloseHandle(this._WlanHandle, IntPtr.Zero);
         Trace.TraceInformation("WiFi Init Error");
         throw;
     }
 }
コード例 #10
0
ファイル: wlanapi.cs プロジェクト: QCX51/Hotspot
 public static extern uint WlanHostedNetworkRefreshSecuritySettings([In] IntPtr hClientHandle, [Out] out WLAN_HOSTED_NETWORK_REASON pFailReason, IntPtr pReserved);
コード例 #11
0
ファイル: wlanapi.cs プロジェクト: QCX51/Hotspot
 public static extern uint WlanHostedNetworkForceStop([In] IntPtr hClientHandle, [Out] out WLAN_HOSTED_NETWORK_REASON pFailReason, IntPtr pReserved);
コード例 #12
0
ファイル: wlanapi.cs プロジェクト: strfkr/CSharpTools
 public static extern uint WlanHostedNetworkInitSettings(IntPtr hClientHandle, [Out] out WLAN_HOSTED_NETWORK_REASON pFailReason, IntPtr pReserved);
コード例 #13
0
        private string ShowHostedNetworkReason(WLAN_HOSTED_NETWORK_REASON Reason)
        {
            string Prefix = "The hosted network can not be started/stopped.\nReason: ";

            switch (Reason)
            {
            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_success:
                return(string.Empty);    //Prefix + "success";

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_unspecified:
                return(Prefix + "unspecified");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_bad_parameters:
                return(Prefix + "bad parameters");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_service_shutting_down:
                return(Prefix + "service shutting down");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_insufficient_resources:
                return(Prefix + "insufficient resources");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_elevation_required:
                return(Prefix + "elevation required");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_read_only:
                return(Prefix + "read only");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_persistence_failed:
                return(Prefix + "persistence failed");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_crypt_error:
                return(Prefix + "crypt error");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_impersonation:
                return(Prefix + "impersonation");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_stop_before_start:
                return(Prefix + "stop before start");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_interface_available:
                return(Prefix + "interface available");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_interface_unavailable:
                return(Prefix + "interface unavailable");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_miniport_stopped:
                return(Prefix + "miniport stopped");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_miniport_started:
                return(Prefix + "miniport started");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_incompatible_connection_started:
                return(Prefix + "incompatible connection started");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_incompatible_connection_stopped:
                return(Prefix + "incompatible connection stopped");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_user_action:
                return(Prefix + "user action");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_client_abort:
                return(Prefix + "client abort");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_ap_start_failed:
                return(Prefix + "AP start failed");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_peer_arrived:
                return(Prefix + "peer arrived");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_peer_departed:
                return(Prefix + "peer departed");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_peer_timeout:
                return(Prefix + "peer timeout");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_gp_denied:
                return(Prefix + "GP denied");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_service_unavailable:
                return(Prefix + "service unavailable");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_device_change:
                return(Prefix + "device change");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_properties_change:
                return(Prefix + "properties change");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_virtual_station_blocking_use:
                return(Prefix + "virtual station blocking used");

            case WLAN_HOSTED_NETWORK_REASON.wlan_hosted_network_reason_service_available_on_virtual_station:
                return(Prefix + "service available on virtual station");

            default:
                return(Prefix + "unknown");
            }
        }
コード例 #14
0
 public extern static UInt32 WlanHostedNetworkStopUsing(
     [In] IntPtr hClientHandle,
     [Out] out WLAN_HOSTED_NETWORK_REASON pFailReason,
     IntPtr pReserved
     );
コード例 #15
0
 public static extern uint WlanHostedNetworkStopUsing(
     [In] IntPtr hClientHandle,
     [Out, Optional] out WLAN_HOSTED_NETWORK_REASON pFailReason,
     IntPtr pvReserved);