LiaoXF
驱动牛犊
驱动牛犊
  • 注册日期2001-09-04
  • 最后登录2003-07-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1902回复:11

在filemon中我为何找不到GUIINTERFACE这个符号的定义

楼主#
更多 发布于:2001-10-11 12:16
((PHOOK_EXTENSION) guiDevice->DeviceExtension)->Type = GUIINTERFACE;

GUIINTERFACE代表什么?她等于多少
网管
Towang
驱动牛犊
驱动牛犊
  • 注册日期2001-09-12
  • 最后登录2001-12-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-10-11 12:51
应该在ioctlcmd.h中有定义
LiaoXF
驱动牛犊
驱动牛犊
  • 注册日期2001-09-04
  • 最后登录2003-07-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-10-11 13:00
没有啊,那里面只找到了这个东东


//
// Our different file system types
//
typedef enum {
    GUIINTERFACE,
    STANDARD,
    NPFS,
    MSFS
} FILE_SYSTEM_TYPE, *PFILE_SYSTEM_TYPE;
网管
dingwws
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分-6分
  • 威望101点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2001-10-11 13:45
我的看法:
在filemon驱动是一个过滤驱动。
经过filemon的驱动的irp包。

1。STANDARD  即硬盘的各个分区(多个设备)
2。NPFS     命名管道设备
3。MSFS     邮槽设备
4。自身的设备
的IRP包。
为了区分是自身的IRP包。还是1。2。3。的包。
用了GUIINTERFACE标志IRP包是自身的

刚入门。如有错误请原谅
Towang
驱动牛犊
驱动牛犊
  • 注册日期2001-09-12
  • 最后登录2001-12-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-10-11 16:24
GUIINTETFACE 是自定义的枚举类型.
LiaoXF
驱动牛犊
驱动牛犊
  • 注册日期2001-09-04
  • 最后登录2003-07-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-10-11 18:39
如果在filemon.sys执行zwcreatfile操作,最后截获的是4。自身的设备
的IRP包呢,还是1。STANDARD 即硬盘的各个分区(多个设备) 的包呢?
网管
LiaoXF
驱动牛犊
驱动牛犊
  • 注册日期2001-09-04
  • 最后登录2003-07-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-10-11 18:52
也就是说filemon.sys中调用zwcreatfile会产生一个IRP_MJ_CREATE,它又将被filemon截获,这时候DeviceObject->DeviceExtension->Type是不是等于GUIINTERFACE呢
网管
dingwws
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分-6分
  • 威望101点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2001-10-12 13:48
Win32子系统存在于用户模式中,所以用户模式中的应用程序可以容易地调用其例程。为了方便,Windows NT在内核模式中实现了一些有Zw前缀名的函数,这些函数可以使驱动程序调用Win32子系统例程。
(walter oney的电子书第三章第一节)

ZwCreateFile是调用Win32子系统例程CreateFile
是STANDARD的。
我是这样认为的。具体没有实现过。也没有用softice跟踪过。最好你在问问别人吧。我可以肯定不是自身的设备IRP包。
Towang
驱动牛犊
驱动牛犊
  • 注册日期2001-09-12
  • 最后登录2001-12-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-10-12 14:04
只有用户应用程序产生的包才是自身的包,其余的都是系统的包.
z_j_cd
驱动中牛
驱动中牛
  • 注册日期2001-09-13
  • 最后登录2012-11-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-10-12 17:13
应该是系统的
hangzhoustayer
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2006-06-19
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-08-20 18:04
GUIINTERFACE到底应该怎么理解,是系统的又具体代表什么意思?
ysz_oo
驱动牛犊
驱动牛犊
  • 注册日期2003-03-08
  • 最后登录2014-11-21
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望40点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-08-21 12:16
typedef enum {
GUIINTERFACE,
STANDARD,
NPFS,
MSFS
} FILE_SYSTEM_TYPE, *PFILE_SYSTEM_TYPE;
是自己定义的;
GUIINTERFACE 是给自己的应用程序用的

STANDARD 看看hookdriver函数,所有挂钩的驱动器所付的类型是STANDARD

后面二个看HookSpecialFs()函数


明白了不?

游客

返回顶部