资源简介
C++编写的防火墙程序源代码,C++编写的防火墙程序源代码
代码片段和文件信息
//////////////////////////////////////////////////////////////////////
// filterAdap.cpp: implementation of the filterAdapter class.
//
// Generated by Network Driver Wizard on Friday February 06 2004
//
#include “filterBind.h“
#include “filterAdap.h“
//////////////////////////////////////////////////////////////////////
// Constructor
filterAdapter::filterAdapter()
{
// TODO: initialize your private data members
// Do NOT call any NDIS functions in here. Defer to Initialize()
}
//////////////////////////////////////////////////////////////////////
// Destructor
filterAdapter::~filterAdapter()
{
// TODO: deallocate all the resources allocated in constructor/Initialize()
//
}
////////////////////////////////////////////////////////////////////
// NDIS callback handlers
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// filterAdapter::OnInitialize
// 当一个虚拟NIC被创建时,调用此成员函数。此时已经完成对底层物理NIC的邦定
// 大部分工作系统已经完成,用户可以在此检查媒介类型,以可以设置私有成员变量
//参数:
// Medium
// Reference to the KNdisMedium object which has a medium type
// selected for the underlying binding by the real NIC
// Config
// Reference to miniport‘s KNdisConfig object used to query various
// configuration parameters
//
// Return
// NDIS_STATUS_SUCCESS Proceed with the creation of the filter
// NDIS_STATUS_XXXXXXX Error. The framework rolls back and fails the
// miniport initialization.
// IRQL:
// PASSIVE_LEVEL
// Return Mode:
// Synchronous
//
NDIS_STATUS filterAdapter::OnInitialize
(const KNdisMedium& Medium KNdisConfig& Config)
{
TRACE(“filterAdapter::OnInitialize(): %s at %ws\n“ Medium.Text() GetBoundDeviceName());
//注册
KNdisBundle::Register(this GetBundle());
UNREFERENCED_PARAMETER(Config);
return NDIS_STATUS_SUCCESS;
}
////////////////////////////////////////////////////////////////////
// filterAdapter::OnHalt
//
// Either virtual NIC or underlying binding is being destroyed by NDIS
// Not much can we do here.
//
VOID filterAdapter::OnHalt()
{
TRACE(“filterAdapter::OnHalt()\n“);
// 撤销邦定
KNdisBundle::Deregister(this GetBundle());
// TODO: deinit private members
}
////////////////////////////////////////////////////////////////////
// filterAdapter::OnSend
//
// 处理发送网络封包.这里过滤驱动对输出的网络封包进行处理 ,
// 过滤驱动检查协议封包,如果需要则对其进行更改,或者丢弃。处理工程是
// 先对原始封包进行拷贝,然后分析拷贝对其处理后返回。如果需要处理多个封包,
// 需要拥有封包池,并且指定完成列程OnSendComplete()指针
// Parameters:
// Original - NDIS提供的原始封包
// Repackaged - 驱动程序对原始封包进行处理后的封包
//
// OnSend() is returned:
// NDIS_STATUS_SUCCESS Requests the framework to forward the
// Repackaged packet down the binding
// NDIS_STATUS_NOT_ACCEPTED Send nothing. Release resources and Return NDIS_STATUS_SUCCESS to NDIS
// NDIS_STATUS_PENDING Do nothing Recycle nothing. Return NDIS_STATUS_PENDING to NDIS
// NDIS_STATUS_XXX ramework
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 1059 2004-02-06 12:55 防火墙源代码\filter\Characteristics.h
.CA.... 8998 2004-02-06 12:55 防火墙源代码\filter\filter.dsp
.CA.... 307 2004-02-06 12:55 防火墙源代码\filter\filter.dsw
.CA.... 22610 2004-02-06 12:55 防火墙源代码\filter\filter.htm
.CA.... 58368 2006-12-11 09:30 防火墙源代码\filter\filter.ncb
.CA.... 54784 2006-12-11 09:30 防火墙源代码\filter\filter.opt
.CA.... 252 2006-12-11 09:30 防火墙源代码\filter\filter.plg
.CA.... 1307 2004-02-06 12:55 防火墙源代码\filter\filter.rc
.CA.... 235 2004-02-06 12:55 防火墙源代码\filter\filter.xm
.CA.... 14304 2004-02-06 21:38 防火墙源代码\filter\filterAdap.cpp
.CA.... 2863 2004-02-06 15:03 防火墙源代码\filter\filterAdap.h
.CA.... 3097 2004-02-06 14:48 防火墙源代码\filter\filterBind.h
.CA.... 1647 2004-02-06 14:09 防火墙源代码\filter\filterDrv.cpp
.CA.... 485 2004-02-06 13:54 防火墙源代码\filter\filterDrv.h
.CA.... 864 2004-02-06 13:10 防火墙源代码\filter\free5\filter.res
.CA.... 7919 2004-02-06 21:38 防火墙源代码\filter\free5\filterAdap.obj
.CA.... 18308 2004-02-06 15:03 防火墙源代码\filter\free5\filterDrv.obj
.CA.... 99328 2004-02-06 21:38 防火墙源代码\filter\i386\free5\filter.pdb
.CA.... 14997 2004-02-06 21:38 防火墙源代码\filter\i386\free5\filter.sys
.CA.... 290 2004-02-06 12:55 防火墙源代码\filter\makefile
.CA.... 3458 2004-02-06 12:55 防火墙源代码\filter\netFilter.inf
.CA.... 2125 2004-02-06 12:55 防火墙源代码\filter\netFilterMP.inf
.CA.... 14997 2004-02-06 21:38 防火墙源代码\filter\setup\filter.sys
.CA.... 3458 2004-02-06 12:55 防火墙源代码\filter\setup\netFilter.inf
.CA.... 2125 2004-02-06 12:55 防火墙源代码\filter\setup\netFilterMP.inf
.CA.... 706 2004-02-06 12:55 防火墙源代码\filter\sources
.C.D... 0 2008-02-21 01:17 防火墙源代码\filter\i386\free5
.C.D... 0 2008-02-21 01:17 防火墙源代码\filter\free5
.C.D... 0 2008-02-21 01:17 防火墙源代码\filter\i386
.C.D... 0 2008-02-21 01:17 防火墙源代码\filter\setup
............此处省略5个文件信息
评论
共有 条评论