liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
阅读:4998回复:25

天呀,有没有一个sfilter和用户程序通信的例子啊??help,

楼主#
更多 发布于:2007-01-04 11:19
  看了无数帖子,搞了几天都不成功,,天啊,谁有这样的例子啊?吧代码文件传一下,help me

下面这个帖子是说的和我同样的问题,,
http://www.eggheadcafe.com/forumarchives/win32programmerkernel/Mar2000/post26109576.asp
这个问题论坛也有很多相关帖子..
但是没有人总结一下,,我们菜鸟看不明白..
h--e--l--p------
大家好
qin.susu
驱动牛犊
驱动牛犊
  • 注册日期2007-04-19
  • 最后登录2009-07-07
  • 粉丝0
  • 关注0
  • 积分196分
  • 威望477点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-04-08 09:59
看来问题总是会解决的。
lauer
驱动牛犊
驱动牛犊
  • 注册日期2004-02-04
  • 最后登录2013-01-07
  • 粉丝1
  • 关注1
  • 积分578分
  • 威望127点
  • 贡献值1点
  • 好评度57点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-06-04 20:30
我也作了同样的动作,但是不知道为什么CreateFile总是不成功
其中打开CreateFile时IRP_MJ_CREATE有进入
但是CreateFile总是出现错误代码1
xhjjxm
驱动小牛
驱动小牛
  • 注册日期2005-08-03
  • 最后登录2010-07-28
  • 粉丝0
  • 关注0
  • 积分1011分
  • 威望208点
  • 贡献值0点
  • 好评度87点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-05-31 20:28
有这么难么?
xx_qiang
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2017-02-27
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望249点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2007-02-02 16:12
为什么非要建立连接符号才能让ap和驱动通讯阿?不用建立也可以阿。比如,sfilter,attach了c:盘,那我直接create c:就可以了阿?
classfree
驱动小牛
驱动小牛
  • 注册日期2004-05-23
  • 最后登录2019-01-06
  • 粉丝1
  • 关注1
  • 积分873分
  • 威望276点
  • 贡献值0点
  • 好评度85点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2007-02-01 02:41
楼主, 我想知道你的连接符号名字怎么定义的
在驱动中和应用程序中
低调点!
choice
驱动牛犊
驱动牛犊
  • 注册日期2006-10-15
  • 最后登录2010-10-23
  • 粉丝0
  • 关注0
  • 积分411分
  • 威望52点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-01-13 15:54
我也学习一下
bladellz
驱动小牛
驱动小牛
  • 注册日期2006-03-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望121点
  • 贡献值0点
  • 好评度120点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-01-05 17:09
汗。。。

自己好好琢磨下

IS_MY_CONTROL_DEVICE_OBJECT
tracera
禁止发言
禁止发言
  • 注册日期2006-01-09
  • 最后登录2018-09-25
  • 粉丝8
  • 关注0
  • 积分-5788分
  • 威望135321点
  • 贡献值0点
  • 好评度625点
  • 原创分1分
  • 专家分0分
  • 社区居民
8楼#
发布于:2007-01-05 12:46
用户被禁言,该主题自动屏蔽!
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-01-05 11:40
unload的时候符号连接确实没删除,但是这个是无关紧要的吧,驱动加载时创建符号链接不成功会删除符号链接重新创建的,。。
大家好
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-01-05 11:33
其实参考filespy就知道了的。。,,兰屏出现是因为只注意了create要改而没有注意到close也要改
大家好
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-01-05 11:27
问题已经解决!
大家好
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-01-05 11:26
引用第13楼tracera2007-01-05 10:06发表的“”:
驱动部分create unload (删除你创建的符号连接) close也应该处理(同 create).试试


谢谢版主!!
正如你所说。。
只要在SfCleanupClose()加下面一段就OK了!!

SfCleanupClose()
{

    if (DeviceObject == gSFilterControlDeviceObject) {

        Irp->IoStatus.Status = STATUS_SUCCESS;
        Irp->IoStatus.Information = 0;

        IoCompleteRequest( Irp, IO_NO_INCREMENT );
        return STATUS_SUCCESS;
    }

。。。。。。。。。

}
大家好
tracera
禁止发言
禁止发言
  • 注册日期2006-01-09
  • 最后登录2018-09-25
  • 粉丝8
  • 关注0
  • 积分-5788分
  • 威望135321点
  • 贡献值0点
  • 好评度625点
  • 原创分1分
  • 专家分0分
  • 社区居民
13楼#
发布于:2007-01-05 10:06
用户被禁言,该主题自动屏蔽!
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-01-05 09:36
刚才不知道怎么传,现在代码我传了,
附件的文档里也把修改的几个地方说明了,,用用比较工具可以一幕了然。。
大家好
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-01-05 09:34
这里是代码,,
附件名称/大小 下载次数 最后更新
help_sfilter.rar (86KB)  176 2007-01-05 09:34
大家好
tracera
禁止发言
禁止发言
  • 注册日期2006-01-09
  • 最后登录2018-09-25
  • 粉丝8
  • 关注0
  • 积分-5788分
  • 威望135321点
  • 贡献值0点
  • 好评度625点
  • 原创分1分
  • 专家分0分
  • 社区居民
16楼#
发布于:2007-01-05 09:31
用户被禁言,该主题自动屏蔽!
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-01-05 09:25
希望有人帮我,我把代码给你
qq
397437395,
大家好
liudaocan80
驱动牛犊
驱动牛犊
  • 注册日期2006-10-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分390分
  • 威望40点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-01-05 09:15
引用第7楼znsoft2007-01-05 09:08发表的“”:
你追一下就清楚了,对于普通的fs irp,应该传到下面,但如果是你的控制irp,则到你的控制设备就应该完成,并告诉它已经open..否则 .... 天晓得下面会怎么处理,,那重启还是轻的...



//我对SfCreate例程做了如下修改:

  if (IS_MY_CONTROL_DEVICE_OBJECT(DeviceObject)) {
    KdPrint(( "SFilter!SfCreate:IS_MY_CONTROL_DEVICE_OBJECT\n"));

    Irp->IoStatus.Status = STATUS_SUCCESS;
    Irp->IoStatus.Information = 0;//不管是OPENED还是0都兰屏
    IoCompleteRequest(Irp, IO_NO_INCREMENT);
    return STATUS_SUCCESS;

  }

你说的我已经做了,如上(同样兰屏)。

难道sfilter还有其他地方禁止了与用户程序的通信吗??

我在本站下载了十几分sfilter代码。。没有一个是有通信的。。

那些做成功了的也不说怎么搞的。。
大家好
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
19楼#
发布于:2007-01-05 09:08
你追一下就清楚了,对于普通的fs irp,应该传到下面,但如果是你的控制irp,则到你的控制设备就应该完成,并告诉它已经open..否则 .... 天晓得下面会怎么处理,,那重启还是轻的...
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
上一页
游客

返回顶部