void CNetSettingPage_Tools_PingView::PingThread() { DWORD dwTotalCount = 0; DWORD dwSuccessCount = 0; DWORD dwFailedCount = 0; int nRSSI = 0; TCHAR tszSSID[64] = {0,}; while( m_bIsPingOperating == TRUE ) { if( m_ping.StartPing(&m_pingResult) == TRUE ) { m_strResult.Format(_T("[%d] Size(%d),Time(%dms),TTL(%d)\r\n"),dwTotalCount, m_pingResult.dwDataSize, m_pingResult.dwTime, m_pingResult.ucTtl ); dwSuccessCount++; } else { if( m_pingResult.dwErrCode == 11010 ) { m_strResult.Format(_T("Request timed out.\r\n") ); } else { m_strResult.Format(_T("Error (%d) \r\n"), m_pingResult.dwErrCode); } dwFailedCount++; } m_editPingResult.ReplaceSel(m_strResult, TRUE); dwTotalCount = dwSuccessCount + dwFailedCount; GetSSID(m_adapterInfo.tszAdapterName, tszSSID); if( _tcslen(tszSSID) != 0) { GetRSSI(m_adapterInfo.tszAdapterName, &nRSSI); } SetDlgItemInt(IDC_STATIC_RSSI, nRSSI); SetDlgItemText(IDC_STATIC_SSID, tszSSID); Sleep(1000); } m_strResult.Format(_T("Total/Success/Failed(%d/%d/%d) \r\n"),dwTotalCount, dwSuccessCount, dwFailedCount ); m_editPingResult.ReplaceSel(m_strResult, TRUE); }
unsigned char NMI120_GetRSSI() { unsigned char rssi_value = 0; rssi_value = GetRSSI(1); if(rssi_value>90) rssi_value = 90; if(rssi_value<20) rssi_value = 20; return rssi_value; }