|
|
//============================================================================
// Copyright(c) 1996, Microsoft Corporation
//
// File: rtrfiltr.cpp
//
// History:
// 08/30/96 Ram Cherala Created
//
// Implementation of Router Packet Filters Configuration
// Defines initialization routines for the rtrfiltr.dll
//============================================================================
#include "stdafx.h"
#include "rtrfiltr.h"
#include "mprfltr.h"
#include "ipaddr.h"
#include "dialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CRtrfiltrApp
BEGIN_MESSAGE_MAP(CRtrfiltrApp, CWinApp) //{{AFX_MSG_MAP(CRtrfiltrApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRtrfiltrApp construction
CRtrfiltrApp::CRtrfiltrApp() { // TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CRtrfiltrApp object
CRtrfiltrApp theApp;
BOOL CRtrfiltrApp::InitInstance() { BOOL bRet = CWinApp::InitInstance();
// Setup the proper help file
free((void *) m_pszHelpFilePath); m_pszHelpFilePath = _tcsdup(_T("mprsnap.hlp")); // Setup the global help function
extern DWORD * RtrfiltrSnapHelpMap(DWORD dwIDD); SetGlobalHelpMapFunction(RtrfiltrSnapHelpMap); // initialize IP address control once
if (bRet) { if (m_pszHelpFilePath != NULL) free((void*)m_pszHelpFilePath); m_pszHelpFilePath = _tcsdup(_T("mprsnap.hlp")); // IpAddrInit(AfxGetInstanceHandle(), 0, 0);
IPAddrInit(AfxGetInstanceHandle()); // InitCommonLibrary ();
}
return bRet; }
//----------------------------------------------------------------------------
// Function: MprUIFilterConfig
//
// Called to configure Filter for the transport interface.
//----------------------------------------------------------------------------
DWORD APIENTRY MprUIFilterConfig( IN CWnd* pParent, IN LPCWSTR pwsMachineName, IN LPCWSTR pwsInterfaceName, IN DWORD dwTransportId, IN DWORD dwFilterType // FILTER_INBOUND, FILTER_OUTBOUND
) {
DWORD dwErr = NO_ERROR;
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// TODO IPX filter config will pass in NULL for the interface name
// to configure filters for Client Interface. Ignore this for now
// and add code to deal with IPX Client interface config.
if(pwsInterfaceName == NULL) return dwErr;
switch ( dwTransportId ) { case PID_IP: dwErr = IpFilterConfig( pParent, pwsMachineName, pwsInterfaceName, dwFilterType ); break; case PID_IPX: dwErr = IpxFilterConfig( pParent, pwsMachineName, pwsInterfaceName, dwFilterType ); break; default: dwErr = ERROR_INVALID_PARAMETER; }
return dwErr; }
HRESULT APIENTRY MprUIFilterConfigInfoBase( IN HWND hwndParent, IN IInfoBase * pInfoBase, IN IRtrMgrInterfaceInfo *pRmIf, IN DWORD dwTransportId, IN DWORD dwFilterType // FILTER_INBOUND, FILTER_OUTBOUND
) {
AFX_MANAGE_STATE(AfxGetStaticModuleState()); HRESULT hr = hrOK;
COM_PROTECT_TRY {
if (pInfoBase == NULL) CORg(E_INVALIDARG);
// TODO IPX filter config will pass in NULL for the interface name
// to configure filters for Client Interface. Ignore this for now
// and add code to deal with IPX Client interface config.
switch ( dwTransportId ) { case PID_IP: hr = IpFilterConfigInfoBase( hwndParent, pInfoBase, pRmIf, dwFilterType ); break; case PID_IPX: hr = IpxFilterConfigInfoBase( hwndParent, pInfoBase, pRmIf, dwFilterType ); break; default: hr = E_INVALIDARG; }
COM_PROTECT_ERROR_LABEL; } COM_PROTECT_CATCH;
return hr; }
|