private void Wlan_Notification(Wlan.WlanNotificationData notifyData) { switch (notifyData.notificationSource) { case Wlan.WlanNotificationSource.ACM: switch ((Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode) { case Wlan.WlanNotificationCodeAcm.ScanComplete: this.Cursor = Cursors.WaitCursor; try { this.Scan(); } catch (Exception ex) { MessageBox.Show(ex.Message, WiFiThemeContainer.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Cursor = Cursors.Default; break; } break; } }
public static void HandleParamsReport(Wlan.WlanNotificationData notifyData) { NativeWifi.WlanClient.WlanInterface wlanIface = null;// = GenericInfo.WlanInterface; foreach (NativeWifi.WlanClient.WlanInterface wli in Information.GenericInfo.ClientInstance.Interfaces) { if (wli.InterfaceGuid == notifyData.interfaceGuid) { if (wli.NetworkInterface.GetPhysicalAddress().Equals(PhysicalAddress.Parse(Program.MAC.Replace(":", "-").ToUpper()))) //Event filtering { wlanIface = wli; } } } if (wlanIface != null) { ConnectionHelper ch = Program.toMihf; ID myLinkID = new ID(new OctetString(GenericInfo.myID)); ID mihfID = new ID(new OctetString(GenericInfo.mihfID)); if (Subscriptions.List.Link_Parameters_Report) //Generic subscription { ch.Send(MessageBuilders.Link_Parameters_Report_Indication_MsgBuilder( myLinkID, mihfID, wlanIface.CurrentConnection.wlanAssociationAttributes.Dot11Bssid, wlanIface.CurrentConnection.wlanAssociationAttributes.dot11Ssid.SSID, Link_Param_Abs_Type.GEN_Sig_Strenth, Link_Param_Gen.SignalStrength_1).ByteValue); } Reports.CheckThresholds(Link_Param_Abs_Type.GEN_Sig_Strenth, (int)wlanIface.RSSI); } }
internal void OnWlanNotification(Wlan.WlanNotificationData notifyData) { if (WlanNotification != null) { WlanNotification(notifyData); } }
void WlanEventSecure(Wlan.WlanNotificationData data) { switch (data.notificationSource) { case Wlan.WlanNotificationSource.ACM: switch ((Wlan.WlanNotificationCodeAcm)data.NotificationCode) { case Wlan.WlanNotificationCodeAcm.ScanComplete: if (!btn_scan.Enabled) { btn_scan.Enabled = true; } UpdateAPs(); break; } log.Text += "ACM: " + ((Wlan.WlanNotificationCodeAcm)data.NotificationCode).ToString() + eol; break; case Wlan.WlanNotificationSource.MSM: log.Text += "MSM: " + ((Wlan.WlanNotificationCodeMsm)data.NotificationCode).ToString() + eol; break; case Wlan.WlanNotificationSource.HNWK: log.Text += "HNWK: " + ((Wlan.HostedNetworkNotificationCode)data.NotificationCode).ToString() + eol; break; default: log.Text += data.notificationSource.ToString() + ": " + data.notificationCode.ToString() + eol; break; } }
private void WlanEvent(Wlan.WlanNotificationData data) { try { Invoke(wlan_event_cb, new object[] { data }); } catch { } }
public static void HandleLinkDown(Wlan.WlanNotificationData notifyData) { NativeWifi.WlanClient.WlanInterface wlanIface = null;// = GenericInfo.WlanInterface; foreach (NativeWifi.WlanClient.WlanInterface wli in Information.GenericInfo.ClientInstance.Interfaces) { if (wli.InterfaceGuid == notifyData.interfaceGuid) { if (wli.NetworkInterface.GetPhysicalAddress().Equals(PhysicalAddress.Parse(Program.MAC.Replace(":", "-").ToUpper()))) //Event filtering { wlanIface = wli; } } } if (wlanIface != null) { ConnectionHelper ch = Program.toMihf; ID myLinkID = new ID(new OctetString(GenericInfo.myID)); ID mihfID = new ID(new OctetString(GenericInfo.mihfID)); if (Subscriptions.List.Link_Down) { ch.Send(MessageBuilders.Link_Down_Indication_802_11_MsgBuilder(myLinkID, mihfID, new String(Encoding.ASCII.GetChars(wlanIface.LatestConnection.wlanAssociationAttributes.dot11Ssid.SSID)), wlanIface.LatestConnection.wlanAssociationAttributes.Dot11Bssid, Link_Dn_Reason.ExplicitDisconnect).ByteValue);//TODO get reasons } } }
private void wlanInterfaceTmp_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { if (connNotifyData.profileName != "") { WlanClient wlanClientTmp = new WlanClient(); WlanClient.WlanInterface wlanInterfaceTmp = wlanClientTmp.Interfaces[0]; Dispatcher.Invoke(() => { List <Object> dataList = GetAvailableNetworkList1(); if (dataList == null) { return; } dataGridWlan1.ItemsSource = dataList; if (wlanInterfaceTmp.IsWlanConnection()) { Wlan.WlanConnectionAttributes wlanAttr = wlanInterfaceTmp.CurrentConnection; if (wlanAttr.isState == Wlan.WlanInterfaceState.Connected) { string macAddress = GetMacAddress(wlanAttr.wlanAssociationAttributes.dot11Bssid); tbState.Text = String.Format("当前设备已连接到Wlan: {0}, Mac地址: {1} IPv4地址: {2}", wlanAttr.profileName, macAddress, PathUtil.GetIPv4()); } } }); } }
void SelectedInterface_WlanNotification(Wlan.WlanNotificationData notifyData) { if (notifyData.notificationSource == Wlan.WlanNotificationSource.MSM) { SelectedInterface.RefreshConnected(); } }
private void WlanService_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { var dot11Ssid = connNotifyData.dot11Ssid; var wlanNMAE = WlanService.GetWlanNameBySsid(dot11Ssid); Debug.WriteLine(wlanNMAE); }
//当连接的连接状态进行通知 面是简单的通知事件的实现,根据通知的内容在界面上显示提示信息: private void WlanInterface_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { try { if (notifyData.notificationSource == Wlan.WlanNotificationSource.ACM) { int notificationCode = (int)notifyData.NotificationCode; switch (notificationCode) { case (int)Wlan.WlanNotificationCodeAcm.ConnectionStart: Console.WriteLine("开始连接无线网络......."); break; case (int)Wlan.WlanNotificationCodeAcm.ConnectionComplete: break; case (int)Wlan.WlanNotificationCodeAcm.Disconnecting: Console.WriteLine("正在断开无线网络连接......."); break; case (int)Wlan.WlanNotificationCodeAcm.Disconnected: Console.WriteLine("已经断开无线网络连接......."); break; } } //})); } catch (Exception e) { //Loger.WriteLog(e.Message); } }
void SelectedInterface_WlanNotification(Wlan.WlanNotificationData notifyData) { if (owner != null && owner.IsVisible && notifyData.notificationSource == Wlan.WlanNotificationSource.MSM) { SelectedInterface?.UpdateInformation(); UpdateNetworkSignalQuality(); } }
private void iface_WlanNotification(Wlan.WlanNotificationData notifydata) { if (notifydata.notificationSource == Wlan.WlanNotificationSource.ACM && (Wlan.WlanNotificationCodeAcm)notifydata.notificationCode == Wlan.WlanNotificationCodeAcm.ScanComplete) { OnNetworksScanComplete(); } }
void SelectedInterface_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { if (owner != null && owner.IsVisible) { SelectedInterface?.UpdateInformation(); UpdateNetworkSignalQuality(); } }
private bool IsSentByCorrectNetworkInterface(Wlan.WlanNotificationData notificationData) { WlanClient.WlanInterface wifiInterface = GetInterfaceByInterfaceId(notificationData.interfaceGuid); if (wifiInterface == currentWifiInterface) { return(true); } return(false); }
//private void WlanInterface_WlanReasonNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanReasonCode reasonCode) //{ // Console.WriteLine(notifyData.NotificationCode); // Console.WriteLine(reasonCode.ToString()); //} private void WlanIface_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { //Console.WriteLine(notifyData.NotificationCode); //Console.WriteLine(notifyData.notificationSource); //if (notifyData.dataSize >= 0) //{ // Wlan.WlanReasonCode reasonCode = (Wlan.WlanReasonCode)Marshal.ReadInt32(notifyData.dataPtr); // if (wlanIface != null) // wlanIface.OnWlanReason(notifyData, reasonCode); //} try { if (notifyData.dataSize >= 0) { //Wlan.WlanReasonCode reasonCode = (Wlan.WlanReasonCode)Marshal.ReadInt32(notifyData.dataPtr); //if (wlanInterface != null) // wlanInterface.OnWlanReason(notifyData, reasonCode); if (notifyData.notificationSource == Wlan.WlanNotificationSource.ACM) { int notificationCode = (int)notifyData.NotificationCode; switch (notificationCode) { case (int)Wlan.WlanNotificationCodeAcm.ConnectionStart: Console.WriteLine("开始连接无线网络......."); break; case (int)Wlan.WlanNotificationCodeAcm.ConnectionComplete: break; case (int)Wlan.WlanNotificationCodeAcm.Disconnecting: Console.WriteLine("正在断开无线网络连接......."); break; case (int)Wlan.WlanNotificationCodeAcm.Disconnected: Console.WriteLine("已经断开无线网络连接......."); break; } } } //})); } catch (Exception e) { throw new BaseException(string.Format("WlanConnectionNotification事件出错" + e.ToString())); //Loger.WriteLog(e.Message); } //throw new NotImplementedException(); }
private void m_Interface_WlanConnectionNotification(Wlan.WlanNotificationData i_NotifyData, Wlan.WlanConnectionNotificationData i_ConnNotifyData) { Debug.log($"Connection status changed to {i_NotifyData.NotificationCode.ToString()}"); //string[] goodNotificationCodes = { "ConnectionStart", "Associating", "Associated", "Authenticating", "Connected", "ConnectionComplete", "RoamingStart" }; m_Interface.WlanConnectionNotification -= m_Interface_WlanConnectionNotification; if (!checkInternetConnectivity() /*!goodNotificationCodes.Any((i_NotifyData.NotificationCode.ToString()).Contains)*/) // i.e disconnected { connect(i_ConnNotifyData.profileName); } m_Interface.WlanConnectionNotification += m_Interface_WlanConnectionNotification; }
void WlanIface_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { this.notifyData = notifyData; this.connNotifyData = connNotifyData; if (notifyData.notificationSource == NativeWifi.Wlan.WlanNotificationSource.ACM) { //连接失败 if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.ConnectionAttemptFail) { WlanIface.DeleteProfile(connNotifyData.profileName); } } }
internal void OnWlanAdhocNetwork(Wlan.WlanNotificationData notifyData, Wlan.WlanAdhocNetworkState adhocNetworkState) { if (WlanAdhocNetworkNotification != null) { WlanAdhocNetworkNotification(notifyData, adhocNetworkState); } if (queueEvents) { WlanAdhocNetworkNotificationData queuedEvent = new WlanAdhocNetworkNotificationData(); queuedEvent.notifyData = notifyData; queuedEvent.adhocNetworkState = adhocNetworkState; EnqueueEvent(queuedEvent); } }
void WlanIface_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { if (notifyData.notificationSource == NativeWifi.Wlan.WlanNotificationSource.MSM) { //这里是完成连接 if ((NativeWifi.Wlan.WlanNotificationCodeMsm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeMsm.Connected) { Invoke(new Action(() => { labelControl2.Text = connNotifyData.profileName; labelControl2.ForeColor = Color.Red; ShowToast_InSetup("提示", "网络连接成功", 2); })); } } else if (notifyData.notificationSource == NativeWifi.Wlan.WlanNotificationSource.ACM) { //连接失败 if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.ConnectionAttemptFail) { Invoke(new Action(() => { labelControl2.Text = "未连接"; })); new Toast().ShowInfo(2500, "WIFI连接失败,请检查密码是否正确"); WlanIface.DeleteProfile(connNotifyData.profileName); } if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.Disconnected) { Invoke(new Action(() => { labelControl2.Text = "未连接"; })); } if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.Disconnecting) { Invoke(new Action(() => { labelControl2.Text = "未连接"; })); } if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.ConnectionStart) { Invoke(new Action(() => { labelControl2.Text = "连接中…"; })); } } }
internal void OnWlanReason(Wlan.WlanNotificationData notifyData, Wlan.WlanReasonCode reasonCode) { if (WlanReasonNotification != null) { WlanReasonNotification(notifyData, reasonCode); } if (queueEvents) { WlanReasonNotificationData queuedEvent = new WlanReasonNotificationData(); queuedEvent.notifyData = notifyData; queuedEvent.reasonCode = reasonCode; EnqueueEvent(queuedEvent); } }
internal void OnWlanConnection(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { if (WlanConnectionNotification != null) { WlanConnectionNotification(notifyData, connNotifyData); } if (queueEvents) { WlanConnectionNotificationEventData queuedEvent = new WlanConnectionNotificationEventData(); queuedEvent.notifyData = notifyData; queuedEvent.connNotifyData = connNotifyData; EnqueueEvent(queuedEvent); } }
void WlanIface_WlanConnectionNotification(Wlan.WlanNotificationData notifyData, Wlan.WlanConnectionNotificationData connNotifyData) { if (notifyData.notificationSource == NativeWifi.Wlan.WlanNotificationSource.MSM) { //这里是完成连接 if ((NativeWifi.Wlan.WlanNotificationCodeMsm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeMsm.Connected) { Invoke(new Action(() => { label2.Text = connNotifyData.profileName; })); } } else if (notifyData.notificationSource == NativeWifi.Wlan.WlanNotificationSource.ACM) { //连接失败 if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.ConnectionAttemptFail) { Invoke(new Action(() => { label2.Text = "未连接"; })); MessageBox.Show("连接失败,请检查密码是否正确"); WlanIface.DeleteProfile(connNotifyData.profileName); } if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.Disconnected) { Invoke(new Action(() => { label2.Text = "未连接"; })); } if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.Disconnecting) { Invoke(new Action(() => { label2.Text = "未连接"; })); } if ((NativeWifi.Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode == NativeWifi.Wlan.WlanNotificationCodeAcm.ConnectionStart) { Invoke(new Action(() => { label2.Text = "连接中…"; })); } } }
private void HNEventSecure(Wlan.WlanNotificationData notif_data) { log.Text += "HNWK: " + ((Wlan.HostedNetworkNotificationCode)notif_data.notificationCode).ToString() + eol; switch ((Wlan.HostedNetworkNotificationCode)notif_data.notificationCode) { case Wlan.HostedNetworkNotificationCode.RadioStateChange: case Wlan.HostedNetworkNotificationCode.StateChange: LoadApValues(); break; case Wlan.HostedNetworkNotificationCode.PeerStateChange: LoadApPeers(); break; } }
private void WlanApi_WlanNotification(Wlan.WlanNotificationData notifyData) { lock (this) { if (notifyData.notificationSource == Wlan.WlanNotificationSource.Acm) { switch (((Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode)) { case Wlan.WlanNotificationCodeAcm.ScanComplete: case Wlan.WlanNotificationCodeAcm.ScanFail: OnScanComplete(); break; } } } }
private void OnNotification(Wlan.WlanNotificationData data) { if (data.notificationSource == Wlan.WlanNotificationSource.ACM) { switch (data.notificationCode) { case (int)Wlan.WlanNotificationCodeAcm.ScanComplete: _scanTaskCompletionSource?.TrySetResult(true); break; case (int)Wlan.WlanNotificationCodeAcm.ScanFail: _scanTaskCompletionSource?.TrySetResult(false); break; } } }
public static void WlanNotification(Wlan.WlanNotificationData notifyData) { switch ((Wlan.WlanNotificationCodeAcm)notifyData.NotificationCode) { case Wlan.WlanNotificationCodeAcm.ScanComplete: foreach (Wlan.WlanAvailableNetwork net in wlan_intr.GetAvailableNetworkList(Wlan.WlanGetAvailableNetworkFlags.IncludeAllAdhocProfiles)) { if (GetSsidString(net.dot11Ssid) == settings["card_ssid"]) { wlan_client.Interfaces[0].Connect(Wlan.WlanConnectionMode.Auto, Wlan.Dot11BssType.Any, net.dot11Ssid, Wlan.WlanConnectionFlags.HiddenNetwork); break; } } break; } }
private void UsableInterface_WlanNotification(Wlan.WlanNotificationData notifyData) { if (notifyData.notificationSource == Wlan.WlanNotificationSource.ACM) { if (notifyData.notificationCode == 7) { scanComplete = true; return; } } lock (lockVictim) { tourStreamWriter.WriteLine("NOTIFY;{0};{1};{2};{3}", notifyData.notificationSource, notifyData.notificationCode, notifyData.interfaceGuid, notifyData.dataSize); } }
private void OnWlanNotification(ref Wlan.WlanNotificationData notifyData, IntPtr context) { switch (notifyData.notificationSource) { case Wlan.WlanNotificationSource.ACM: switch ((Wlan.WlanNotificationCodeAcm)notifyData.notificationCode) { case Wlan.WlanNotificationCodeAcm.ConnectionComplete: lock (sync) { if (isBinding) { Status("Connected successfully to Drone"); this.Invoke(telnetDelegate); } if (isRegistering) { Status("Connected successfully to Router"); Thread t1 = new Thread(RegisterDrone); t1.Start(); //this.Invoke(registerDelegate); } } break; case Wlan.WlanNotificationCodeAcm.ConnectionStart: break; case Wlan.WlanNotificationCodeAcm.ConnectionAttemptFail: Status("Connection failed"); break; case Wlan.WlanNotificationCodeAcm.Disconnected: //Status("Disconnected"); break; case Wlan.WlanNotificationCodeAcm.ScanComplete: networkList = networkInterface.GetAvailableNetworkList(0); this.Invoke(outputScanDelegate); break; } break; } }
/// <summary> /// WLAN notification handler /// </summary> /// <param name="notifyData"></param> void wlanIface_WlanNotification(Wlan.WlanNotificationData notifyData) { if (notifyData.notificationSource == Wlan.WlanNotificationSource.MSM) { Wlan.WlanNotificationCodeMsm notificationCode = (Wlan.WlanNotificationCodeMsm)notifyData.notificationCode; } else if (notifyData.notificationSource == Wlan.WlanNotificationSource.ACM) { Wlan.WlanNotificationCodeAcm notificationCode = (Wlan.WlanNotificationCodeAcm)notifyData.notificationCode; switch (notificationCode) { case Wlan.WlanNotificationCodeAcm.ScanComplete: // signal scan completion by the interface _wlanEventScanComplete[notifyData.interfaceGuid].Set(); break; } } }
public void Notification2(Wlan.WlanNotificationData notifyData) { if (notifyData.NotificationCode.ToString().Equals("ScanComplete")) { LOCK = false; Wlan.WlanBssEntry[] Logs = client.Interfaces[0].GetNetworkBssList(); Position Target = Positioning(Logs); invoke temp = (Position position2) => { SetPoint(position2); }; this.Invoke(temp, Target); Debug.WriteLine(Target.X + " " + Target.Y); Debug.WriteLine(client.Interfaces[0].GetNetworkBssList().ToJsonArray()); client.Interfaces[0].WlanNotification -= Notification2; } }