⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ethernetspypcktypedlg.cpp

📁 网卡驱动相关实例 这是和网卡NT KMD驱动程序有关的一些资料和例子。主要是以下三方面内容: 3.1 article 一些有用的文档 3.2 Canberra 网络诊听工具Ethern
💻 CPP
字号:
// EthernetSpyPckTypeDlg.cpp : implementation file
//

#include "stdafx.h"

#include "packet32.h"
#include "EthernetSpy.h"
#include "EthernetSpyReader.h"
#include "EthernetSpyPckTypeDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CEthernetSpyPckTypeDlg dialog


CEthernetSpyPckTypeDlg::CEthernetSpyPckTypeDlg(EthernetSpyReader* _SpyReader, CWnd* pParent /*=NULL*/)
	: CDialog(CEthernetSpyPckTypeDlg::IDD, pParent)
{
	SpyReader = _SpyReader;
	uiTimer = 0;
	MyParent = pParent;

	//{{AFX_DATA_INIT(CEthernetSpyPckTypeDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CEthernetSpyPckTypeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CEthernetSpyPckTypeDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CEthernetSpyPckTypeDlg, CDialog)
	//{{AFX_MSG_MAP(CEthernetSpyPckTypeDlg)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_START, OnStart)
	ON_BN_CLICKED(IDC_STOP, OnStop)
	ON_BN_CLICKED(IDC_RESET, OnReset)
	ON_WM_CLOSE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEthernetSpyPckTypeDlg message handlers

BOOL CEthernetSpyPckTypeDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	uiTimer = SetTimer(1, SpyReader->RefreshTime, NULL);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CEthernetSpyPckTypeDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	TCHAR buffer[255];
	ULONG IP, X75, X25, ARP, Banyan, DecMop1, DecMop2, DecNet, DecLat, DecDiagnostic, DecLanBridge, DecEthEncr, AppleTalk, IBMSna, NetWare, SNMP, IEEE802_3, Unknown;

	CDialog::OnTimer(nIDEvent);

	EnterCriticalSection(&(SpyReader->CritSecCounters));
	{
		IP = SpyReader->Stats.IP;
		X75 = SpyReader->Stats.X75;
		X25 = SpyReader->Stats.X25;
		ARP = SpyReader->Stats.ARP;
		Banyan = SpyReader->Stats.Banyan;
		DecMop1 = SpyReader->Stats.DecMop1;
		DecMop2 = SpyReader->Stats.DecMop2;
		DecNet = SpyReader->Stats.DecNet;
		DecLat = SpyReader->Stats.DecLat;
		DecDiagnostic = SpyReader->Stats.DecDiagnostic;
		DecLanBridge = SpyReader->Stats.DecLanBridge;
		DecEthEncr = SpyReader->Stats.DecEthEncr;
		AppleTalk = SpyReader->Stats.AppleTalk;
		IBMSna = SpyReader->Stats.IBMSna;
		NetWare = SpyReader->Stats.NetWare;
		SNMP = SpyReader->Stats.SNMP;
		IEEE802_3 = SpyReader->Stats.IEEE802_3;
		Unknown = SpyReader->Stats.Unknown;
	}
	LeaveCriticalSection(&(SpyReader->CritSecCounters));
	
	wsprintf(buffer, TEXT("%lu"), IP);
	SetDlgItemText(IDC_TCPIP, buffer);

	wsprintf(buffer, TEXT("%lu"), X75);
	SetDlgItemText(IDC_X75, buffer);

	wsprintf(buffer, TEXT("%lu"), X25);
	SetDlgItemText(IDC_X25, buffer);

	wsprintf(buffer, TEXT("%lu"), ARP);
	SetDlgItemText(IDC_ARP, buffer);

	wsprintf(buffer, TEXT("%lu"), Banyan);
	SetDlgItemText(IDC_BANYAN, buffer);

	wsprintf(buffer, TEXT("%lu"), DecMop1);
	SetDlgItemText(IDC_DECMOP1, buffer);

	wsprintf(buffer, TEXT("%lu"), DecMop2);
	SetDlgItemText(IDC_DECMOP2, buffer);

	wsprintf(buffer, TEXT("%lu"), DecNet);
	SetDlgItemText(IDC_DECNET, buffer);

	wsprintf(buffer, TEXT("%lu"), DecLat);
	SetDlgItemText(IDC_DECLAT, buffer);

	wsprintf(buffer, TEXT("%lu"), DecDiagnostic);
	SetDlgItemText(IDC_DECDIAG, buffer);

	wsprintf(buffer, TEXT("%lu"), DecLanBridge);
	SetDlgItemText(IDC_DECLANBRIDGE, buffer);

	wsprintf(buffer, TEXT("%lu"), DecEthEncr);
	SetDlgItemText(IDC_DECETHENCR, buffer);

	wsprintf(buffer, TEXT("%lu"), AppleTalk);
	SetDlgItemText(IDC_APPLETALK, buffer);
	
	wsprintf(buffer, TEXT("%lu"), IBMSna);
	SetDlgItemText(IDC_IBMSNA, buffer);
	
	wsprintf(buffer, TEXT("%lu"), NetWare);
	SetDlgItemText(IDC_NETWARE, buffer);
	
	wsprintf(buffer, TEXT("%lu"), SNMP);
	SetDlgItemText(IDC_SNMP, buffer);
	
	wsprintf(buffer, TEXT("%lu"), IEEE802_3);
	SetDlgItemText(IDC_IEEE, buffer);

	wsprintf(buffer, TEXT("%lu"), Unknown);
	SetDlgItemText(IDC_UNKNOWN, buffer);
}

void CEthernetSpyPckTypeDlg::OnStart() 
{
	if( uiTimer == 0 )
	{
		uiTimer = SetTimer(1, SpyReader->RefreshTime, NULL);
		GetDlgItem(IDC_START)->EnableWindow(FALSE);
		GetDlgItem(IDC_STOP)->EnableWindow(TRUE);
	}
	else
	{
		return;
	}	
}

void CEthernetSpyPckTypeDlg::OnStop() 
{
	if( uiTimer == 0 )
	{
		return;
	}
	else
	{
		KillTimer(uiTimer);
		uiTimer = 0;
		GetDlgItem(IDC_START)->EnableWindow(TRUE);
		GetDlgItem(IDC_STOP)->EnableWindow(FALSE);
	}		
}

void CEthernetSpyPckTypeDlg::OnReset() 
{
	SpyReader->ClearTypeStats();
}

void CEthernetSpyPckTypeDlg::OnClose() 
{
	MyParent->SendMessage( WM_PCKTYPEDLGCLOSE );

	CDialog::OnClose();
	KillTimer(uiTimer);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -