资源简介
一个简单的个人防火墙程序,该程序可以进行简单的网络安全防护。
代码片段和文件信息
/*
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个文件信息
相关资源
- 我的ie浏览器源程序
- 基于STM32的避障循迹寻光检测硬币小车
- 小程序前端模板
- 51单片机T2定时器控制舵机程序源码(
- 微信小程序离线文档 .Chm
- MCP3421驱动PIC程序
- PT100模拟电路 程序
- 关于DSP2812复位、初始化、CMD文件编写
- STC12C5A60S2手指心跳检测程序
- 51单片机 心形花样流水灯程序
- 四位数码管时钟程序
- labview自动获取串口号程序源码
- 百度智能小程序官方纯净demo 初始化
- 百度智能小程序官方Demo
- QT开发的小程序:输入数字音乐简谱,
- 基于LabVIEW的图像二值化程序
- 12864频谱显示程序
- 小程序加入emoji
- 微信小程序-豆瓣电影
- 微信小程序-手持弹幕
- EAN13码识别程序
- IDL界面程序
- 五节点各种潮流计算程序
- Axure原型-图片上传效果
- stm32f205 IAP程序
- SMART200程序
- MSP430G2553程序库
- 微信小程序-教务系统源代码
- Fortran 计算梁的有限元结构程序
- MSP430G2553超声波测距程序
评论
共有 条评论