windows-nt/Source/XPSP1/NT/net/mmc/rtrfiltr/ipfltr.h
2020-09-26 16:20:57 +08:00

116 lines
2.6 KiB
C++

//============================================================================
// Copyright(c) 1996, Microsoft Corporation
//
// File: ipfltr.h
//
// History:
// 08/30/96 Ram Cherala Created
// 01/24/98 Kenn Takara Modified for new snapins.
//
// Class declarations for IP Filter code.
//============================================================================
#ifndef _IPFLTR_H_
#define _IPFLTR_H_
#ifndef _DIALOG_H_
#include "dialog.h"
#endif
// number of columns in the IP list view control
#define IP_NUM_COLUMNS 7
struct FilterListEntry {
DWORD dwSrcAddr;
DWORD dwSrcMask;
DWORD dwDstAddr;
DWORD dwDstMask;
DWORD dwProtocol;
DWORD fLateBound;
WORD wSrcPort;
WORD wDstPort;
POSITION pos;
};
typedef CList<FilterListEntry *, FilterListEntry *> FilterList;
/////////////////////////////////////////////////////////////////////////////
// CIpFltr dialog
class CIpFltr : public CBaseDialog {
// Construction
public:
CIpFltr(CWnd * pParent,
IInfoBase * pInfoBase,
DWORD dwFilterType,
UINT idDlg = CIpFltr::IDD);
~CIpFltr();
VOID SetFilterActionButtonsAndText( DWORD dwFilterType,
DWORD dwAction,
BOOL bEnable = TRUE );
CString GetProtocolString(DWORD dwProtocol, DWORD fFlags);
// Dialog Data
//{{AFX_DATA(CIpFltr)
enum { IDD = IDD_IPFILTER };
CListCtrl m_listCtrl;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CIpFltr)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
static DWORD m_dwHelpMap[];
CWnd* m_pParent;
SPIInfoBase m_spInfoBase;
DWORD m_dwFilterType;
FilterList m_filterList;
// Stores temp string information for Other Protocol
CString m_stTempOther;
// Store the "Any" string here since it's used so many times
CString m_stAny;
CString m_stUserMask;
CString m_stUserAddress;
// Generated message map functions
//{{AFX_MSG(CIpFltr)
virtual BOOL OnInitDialog();
afx_msg void OnIpFilterAdd();
afx_msg void OnIpFilterDelete();
afx_msg void OnIpFilterEdit();
virtual void OnOK();
virtual void OnCancel();
afx_msg void OnGetdispinfo(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnDblclkIpFilterList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnNotifyListItemChanged(NMHDR *, LRESULT *);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
class CIpFltrDD : public CIpFltr
{
public:
CIpFltrDD(CWnd * pParent,
IInfoBase *pInfoBase,
DWORD dwFilterType);
~CIpFltrDD();
enum { IDD = IDD_IPFILTER_DD };
};
#endif // _IPFLTR_H_