资源简介
一个简单的个人防火墙程序,该程序可以进行简单的网络安全防护。

代码片段和文件信息
/*
DrvFltIp.C
Author: your name
Last Updated: 2001-01-01/0101
This framework is generated by QuickSYS.
*/
#include
#include
#include
#include
#include
#include “DrvFltIp.h“
#if DBG
#define dprintf DbgPrint
#else
#define dprintf(x)
#endif
NTSTATUS DrvDispatch(IN PDEVICE_object Deviceobject IN PIRP Irp);
VOID DrvUnload(IN PDRIVER_object Driverobject);
NTSTATUS SetFilterFunction(PacketFilterExtensionPtr filterFunction);
NTSTATUS AddFilterToList(IPFilter *pf);
void ClearFilterList(void);
PF_FORWARD_ACTION cbFilterFunction(IN unsigned char *PacketHeaderIN unsigned char *Packet IN unsigned int PacketLength IN unsigned int RecvInterfaceIndex IN unsigned int SendInterfaceIndex IN unsigned long RecvlinkNextHop IN unsigned long SendlinkNextHop);
#define NT_DEVICE_NAME L“\\Device\\DrvFltIp“
#define DOS_DEVICE_NAME L“\\DosDevices\\DrvFltIp“
struct filterList *first = NULL;
struct filterList *last = NULL;
/*++
Routine Description:
Installable driver initialization entry point.
This entry point is called directly by the I/O system.
Arguments:
Driverobject - pointer to the driver object
RegistryPath - pointer to a unicode string representing the path
to driver-specific key in the registry
Return Value:
STATUS_SUCCESS if successful
STATUS_UNSUCCESSFUL otherwise
--*/
NTSTATUS DriverEntry(IN PDRIVER_object Driverobject IN PUNICODE_STRING RegistryPath)
{
PDEVICE_object deviceobject = NULL;
NTSTATUS ntStatus;
UNICODE_STRING deviceNameUnicodeString;
UNICODE_STRING devicelinkUnicodeString;
dprintf(“DrvFltIp.SYS: entering DriverEntry\n“);
//we have to create the device
RtlInitUnicodeString(&deviceNameUnicodeString NT_DEVICE_NAME);
ntStatus = IoCreateDevice(Driverobject
0
&deviceNameUnicodeString
FILE_DEVICE_DRVFLTIP
0
FALSE
&deviceobject);
if ( NT_SUCCESS(ntStatus) )
{
// Create a symbolic link that Win32 apps can specify to gain access
// to this driver/device
RtlInitUnicodeString(&devicelinkUnicodeString DOS_DEVICE_NAME);
ntStatus = IoCreateSymboliclink(&devicelinkUnicodeString &deviceNameUnicodeString);
if ( !NT_SUCCESS(ntStatus) )
{
dprintf(“DrvFltIp.SYS: IoCreateSymboliclink failed\n“);
}
//
// Create dispatch points for device control create close.
//
Driverobject->MajorFunction[IRP_MJ_CREATE] =
Driverobject->MajorFunction[IRP_MJ_CLOSE] =
Driverobject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DrvDispatch;
Driverobject->DriverUnload = DrvUnload;
}
if ( !NT_SUCCESS(ntStatus) )
{
dprintf(“Error in initia
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3957 2002-12-22 01:18 2003819926451\DrvFltIp.sys
文件 1078 2002-12-20 22:18 2003819926451\testDrv\res\testDrv.ico
文件 399 2002-12-20 22:18 2003819926451\testDrv\res\testDrv.rc2
..AD... 0 2002-12-20 22:34 2003819926451\testDrv\res
文件 731 2002-12-20 23:21 2003819926451\testDrv\resource.h
文件 1161 2002-12-21 14:02 2003819926451\testDrv\sockUtil.cpp
文件 147 2002-12-21 13:40 2003819926451\testDrv\sockutil.h
文件 209 2002-12-20 22:18 2003819926451\testDrv\StdAfx.cpp
文件 1054 2002-12-20 22:18 2003819926451\testDrv\StdAfx.h
文件 14430 2002-12-22 01:22 2003819926451\testDrv\TDriver.cpp
文件 2812 2002-12-19 14:34 2003819926451\testDrv\TDriver.h
文件 1165 2002-12-22 01:24 2003819926451\testDrv\testDrv.clw
文件 2077 2002-12-20 22:18 2003819926451\testDrv\testDrv.cpp
文件 4428 2002-12-22 01:41 2003819926451\testDrv\testDrv.dsp
文件 1335 2002-12-20 22:18 2003819926451\testDrv\testDrv.h
文件 5396 2002-12-22 01:31 2003819926451\testDrv\testDrv.rc
文件 6483 2002-12-22 01:51 2003819926451\testDrv\testDrvDlg.cpp
文件 1528 2002-12-22 01:24 2003819926451\testDrv\testDrvDlg.h
文件 164 2005-02-08 16:58 2003819926451\testDrv\『源码天空』.url
文件 164 2005-02-08 16:58 2003819926451\testDrv\免费『商业源码』.url
文件 1619 2006-07-30 15:23 2003819926451\testDrv\使用说明.txt
..AD... 0 2002-12-22 01:58 2003819926451\testDrv
文件 13913 2002-12-22 01:12 2003819926451\DrvFltIp.c
文件 5100 2002-12-22 01:41 2003819926451\DrvFltIp.dsp
文件 740 2002-12-20 22:18 2003819926451\DrvFltIp.dsw
文件 2894 2002-12-21 00:09 2003819926451\DrvFltIp.h
文件 79 2002-12-21 00:47 2003819926451\sources
文件 271 2000-07-26 18:37 2003819926451\makefile
文件 24576 2002-12-22 01:57 2003819926451\testDrv.exe
文件 164 2005-02-08 16:58 2003819926451\『源码天空』.url
............此处省略6个文件信息
相关资源
- 程序员专用字体YaHei.Consolas.1.11b42517
- scratch3.0 源程序(说相声)
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- SVR算法程序可运行
- labview编程软件滤波器以及编写程序设
- 电力系统潮流计算程序集合
- 仿知乎界面小程序源代码
- STM32蓝牙和串口程序
- elantech触控板驱动程序 v13.6.11 官方最
- 根据硬件ID和程序ID生成注册码
- 用python编写的移动彩信的发送程序
- TCL-S1916 ,1924交换机管理程序
- 51单片机PWM程序,占空比、周期可调整
- 嵌入式图形界面MiniGUI的示例程序9例
- 数字频率合成dds正弦波基于FPGA的DDS产
- 28335CAN调试程序
- 导线测量平差程序 很实用
- USB转串口驱动,FT232R驱动程序,最新
- 改进的BP神经网络算法
- 通风网络解算程序 fortran90
- 编写简单的RMI程序 多线程web 服务器
- 图论软件包(图论里的程序)
- A星算法_原理讲解_例子
- MFC程序-碰撞的小球
- 德卡D3读卡器测试程序驱动文件
- Auto CAD_LISP程序集
- WinCE下CP210x的驱动程序
- dsp2812上128点FFTc程序以及其CMD文件
- 用VC 编写的仿QQ聊天室程序源代码
- 直观端口查看器,详细显示可疑进程
评论
共有 条评论