⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tdi_fw.h

📁 基于TDI驱动编写的个人防火墙程序。包括驱动模块、应用层规则配置及加载模块。
💻 H
字号:
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil -*- (for GNU Emacs)
//
// $Id: tdi_fw.h,v 1.5 2002/12/05 13:01:53 dev Exp $

#ifndef _tdi_fw_h_
#define _tdi_fw_h_

extern PDEVICE_OBJECT g_tcpfltobj, g_udpfltobj, g_ipfltobj;

#ifndef USE_TDI_HOOKING
// original (unhooked) device objects when don't using TDI hooking
extern PDEVICE_OBJECT g_tcpoldobj, g_udpoldobj, g_ipoldobj;
#endif

extern ULONG g_got_control;

NTSTATUS tdi_dispatch_complete(
	PDEVICE_OBJECT devobj, PIRP irp, int filter, PIO_COMPLETION_ROUTINE cr, PVOID context);

NTSTATUS tdi_generic_complete(
	IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context);

PDEVICE_OBJECT	get_original_devobj(PDEVICE_OBJECT flt_devobj, int *proto);

// should be in ipc.h but not there
NTSTATUS	process_request(ULONG code, char *buf, ULONG *buf_len, ULONG buf_size);

/* some Native API prototypes */

NTKERNELAPI
NTSTATUS
ObReferenceObjectByName (
    IN PUNICODE_STRING  ObjectName,
    IN ULONG            Attributes,
    IN PACCESS_STATE    PassedAccessState OPTIONAL,
    IN ACCESS_MASK      DesiredAccess OPTIONAL,
    IN POBJECT_TYPE     ObjectType OPTIONAL,
    IN KPROCESSOR_MODE  AccessMode,
    IN OUT PVOID        ParseContext OPTIONAL,
    OUT PVOID           *Object
);

NTSTATUS
NTAPI
ZwCreateEvent (
    OUT PHANDLE             EventHandle,
    IN ACCESS_MASK          DesiredAccess,
    IN POBJECT_ATTRIBUTES   ObjectAttributes OPTIONAL,
    IN EVENT_TYPE           EventType,
    IN BOOLEAN              InitialState
);

/* for compilation under NT4 DDK */

#ifndef EVENT_ALL_ACCESS
#   define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
#endif

#ifndef IoSkipCurrentIrpStackLocation
#   define IoSkipCurrentIrpStackLocation(Irp) \
    (Irp)->CurrentLocation++; \
    (Irp)->Tail.Overlay.CurrentStackLocation++;
#endif

extern POBJECT_TYPE	IoDriverObjectType;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -