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();
}