www.pudn.com > EthernetSpy.zip > EthernetSpyFiltersDlg.cpp


// EthernetSpyFiltersDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "ethernetspy.h" 
 
#include "Packet32.h" 
#include "ntddndis.h" 
 
#include "EthernetSpyReader.h" 
#include "EthernetSpyFiltersDlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CEthernetSpyFiltersDlg dialog 
 
 
CEthernetSpyFiltersDlg::CEthernetSpyFiltersDlg(ULONG* _Filter, CWnd* pParent /*=NULL*/) 
	: CDialog(CEthernetSpyFiltersDlg::IDD, pParent) 
{ 
	Filter = _Filter; 
 
	//{{AFX_DATA_INIT(CEthernetSpyFiltersDlg) 
	m_AllMulticast = (*Filter & NDIS_PACKET_TYPE_ALL_MULTICAST) != 0; 
	m_Broadcast = (*Filter & NDIS_PACKET_TYPE_BROADCAST) != 0; 
	m_Directed = (*Filter & NDIS_PACKET_TYPE_DIRECTED) != 0; 
	m_Promiscuous = (*Filter & NDIS_PACKET_TYPE_PROMISCUOUS) != 0; 
	//}}AFX_DATA_INIT 
} 
 
 
void CEthernetSpyFiltersDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CEthernetSpyFiltersDlg) 
	DDX_Check(pDX, IDC_ALLMULTICAST, m_AllMulticast); 
	DDX_Check(pDX, IDC_BROADCAST, m_Broadcast); 
	DDX_Check(pDX, IDC_DIRECTED, m_Directed); 
	DDX_Check(pDX, IDC_PROMISCUOUS, m_Promiscuous); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CEthernetSpyFiltersDlg, CDialog) 
	//{{AFX_MSG_MAP(CEthernetSpyFiltersDlg) 
		// NOTE: the ClassWizard will add message map macros here 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CEthernetSpyFiltersDlg message handlers 
 
BOOL CEthernetSpyFiltersDlg::DestroyWindow() 
{ 
	*Filter =  ( m_AllMulticast ? NDIS_PACKET_TYPE_ALL_MULTICAST : 0) | 
	    	  ( m_Broadcast ? NDIS_PACKET_TYPE_BROADCAST : 0) | 
			  ( m_Directed ? NDIS_PACKET_TYPE_DIRECTED : 0) | 
			  ( m_Promiscuous ? NDIS_PACKET_TYPE_PROMISCUOUS : 0); 
	 
	return CDialog::DestroyWindow(); 
}