一个关于TDI驱动开发的问题

问题描述

我在开发TDI过滤驱动(姑且称为HostShield,功能类似于一个防火墙,主要用于控制本机的端口及网络访问)的时候,发现机器上安装的江民杀毒软件(简称KV),在HostShield的过滤设备之上又挂了一层它的过滤设备。结果KV挂载的过滤设备导致HostShield的一些网络访问控制规则不起作用了。如果不装KV的话,HostShield是可以正常工作的。用DeviceTree看到如下的结构:DriverTcpIpDeviceTcpDevicehsTcpFilter【此为HostShield的设备】DevicepcaTcpfilter【此为KV的过滤设备】DeviceUdpDevicehsUdpFilter【此为HostShield的设备】DevicepcaUdpfilter【此为KV的过滤设备】DeviceIpDeviceRawIpDevicehsIpFilter【此为HostShield的设备】DeviceIPMulticast不知道有没有什么方法能够防止我的HostShield的过滤设备之上又被挂载别的过滤设备?对于KV这种杀毒软件,好像不管我用什么方法,它总是能挂在HostShield之上。不知道过滤驱动的挂载顺序有没有什么办法进行设置?发现KV里面的过滤设备其实是由过滤驱动KVRedir创建的,于是我在安装自己的驱动的时候,指定依赖于KVRedir这个服务,然后再启动,可是郁闷的发现KV的过滤设备依然挂在了我的过滤设备之上。我实在没招了。有没有人能帮帮我?

解决方案

解决方案二:
求助,求助啊
解决方案三:
自己顶。。。
解决方案四:
一直顶到有人解答

时间: 2024-09-17 06:43:32

一个关于TDI驱动开发的问题的相关文章

《嵌入式设备驱动开发精解》——2.4 建立一个具体的嵌入式开发的小项目

前言 嵌入式设备驱动开发精解本书的编写主要是针对从事嵌入式软件开发人员.本书的内容主要涵盖ARM CPU以及各种常用外部设备驱动开发的方方面面,包括各种硬件接口.硬件接口协议说明以及各种外设的使用及调试方法,特别是对于开发调试过程中可能遇到的各种问题以及如何解决这些问题进行了讨论,同时包括但不限于软件方面的调试方法与硬件方面的调试方法等. 从事嵌入式驱动开发的工作主要就是与各种外设.外设接口以及OS(操作系统)打交道,这是一个会涉及非常多的知识点的.系统级的软件开发与设计过程. 狭义上的嵌入式驱

《Android深度探索(卷1):HAL与驱动开发》——6.3节第一个Linux驱动:统计单词个数

6.3 第一个Linux驱动:统计单词个数Android深度探索(卷1):HAL与驱动开发源程序目录:<光盘根目录>/sources/word_count本节将给出我们的第1个Linux驱动的例子.这个驱动程序并没有访问硬件,而是利用设备文件作为介质与应用程序进行交互.应用程序通过向设备文件传递一个由空格分隔的字符串(每一个被空格隔开的子字符串称为一个单词),然后从设备文件读出来的是该字符串包含的单词数.本例的驱动程序使用C语言实现,源代码文件路径如下. 6.3.1 编写Linux驱动程序前的

初试驱动---OV511+摄像头驱动开发

本篇适合没有接触过驱动或者初学驱动的朋友.运行本程序以及源代码都请先看 ReadMe.txt 文件. 在本文中阐述的驱动是用windriver做出来的,没有采用DDK或DriverStudio,可能看起 来并不像是一个"很正式"的驱动,而且本文中的驱动程序不可以用于 DirectShow接口.对于DDK和DriverStudio我也了解了一些内容,在刚开始的时候我是满 怀激情的想用DDK或DriverStudio的,很快我的激情之火就被无情的熄灭了,对于一个完 全没有接触过驱动开发的人

VC文件过滤系统驱动开发Filemon学习笔记

WINDOWS文件过滤系统驱动开发,可用于硬盘还原,防病毒,文件安全防护,文件加密 等诸多领域.而掌握核心层的理论及实践,对于成为一名优秀的开发人员不可或缺. WINDOWS文件过滤系统驱动开发的两个经典例子,Filemon与SFilter,初学者在经 过一定的理论积累后,对此两个例子代码的研究分析,会是步入驱动开发殿堂的重要一步 ,相信一定的理论积累以及贯穿剖析理解此两个例程后,就有能力开始进行文件过滤系统 驱动开发的实际工作了. 对于SFilter例子的讲解,楚狂人的教程已经比较流行, 而F

“Cucumber行为驱动开发指南”能带给我们什么

介绍 或许你已经了解到了软件开发中一个头疼的事,就是如何产生正确的需求和围绕这些需求如何有效地进行软件开发?但又不知如何着手? 或许你已经了解到了一些相关的理论知识来解决这个难题,如:行为驱动开发(BDD),验收测试驱动开发(ATDD),实例化需求(Specification By Example),但却发现很难消化所有的信息? 或许你已经建立了一套相关的自动化测试,但总觉得在为测试而测试,没有解决实际问题,有点脱钩? 或许你已经开始着手建立自动化测试来做保障,但对那么多的工具无从选择? 也或许

使用jQuery和PHP构建一个受Ajax驱动的Web页面

大多数 PHP 开发人员都是以老式的方法学习技能.他们一般先学习如何定义和构建简单 的 PHP 页面,然后再了解如何将这些页面连接到简单的 MySQL 表,于是就可以由此进行自 己的开发了.随着技能水平的提高,他们还逐渐学会了如何创建更为复杂的 PHP 功能,以及 如何连接 MySQL 内的表并执行其他高级任务. 在这个过程中,他们有可能还会掌握 一些客户端技能来将 Web 应用程序投入使用.也有可能学会有关 XHTML 或 CSS 甚至一些 JavaScript 编程的知识.随着所参与项目的种

Windows CE下驱动开发基础

这是我从1月6日开始主持天极网论坛嵌入式开发版以来第一次发表文章,加上以前琐碎的文章共计30篇.研究的越多就越感觉自己懂的太少,其实在驱动开发方面我还是个菜鸟,我是想再次抛砖引玉,让做驱动有N年经验的人奉献一点出来,让大家减少一些研究驱动源码而又缺少注释所带来的痛苦. 我想即使读者看过微软的关于驱动开发的培训教材和CE帮助文档中的驱动部分,头脑中仍然一片茫然.要想真正了解驱动程序必须结合一些驱动程序源码,在此我以串口驱动程序(COM16550)中初始化过程为线索简单讲一讲驱动开发的基础知识. W

【.Net Micro Framework PortingKit – 13】LCD驱动开发

LCD驱动其实对TinyCLR并无必要,特别是在EM-STM3210E开发板上,因为该开发板上的内存太小了,片内64K,片外扩展了128K,加起来也不过172K,而我们知道针对320*240的显示大小,16bit的位图所占的大小就是150K,很显然.Net Micro Framework所提供的图形库如不加修改是很难正常运行的,不过对我们来说在LCD屏幕上显示文字信息也是值得期待的,如果修改一下图形库,在LCD 上画个线.画个圆和显示个位图也绝不成问题. 和我们以前开发的驱动相比,LCD的驱动开

Linux系统驱动开发调试技术指南

  一.使用printk 这是驱动开发中最朴实无华,同时也是最常用和有效的手段.scull驱动的main.c第338行如下,就是使用printk进行调试的例子,这样的例子相信大家在阅读驱动源码时随处可见. printk(KERN_ALERT "wakeup by signal in process %dn", current->;pid); printk的功能与我们经常在应用程序中使用的printf是一样的,不同之处在于printk可以在打印字符串前面加上内核定义的宏,例如上面例