阅读:1901回复:11
在filemon中我为何找不到GUIINTERFACE这个符号的定义
((PHOOK_EXTENSION) guiDevice->DeviceExtension)->Type = GUIINTERFACE;
GUIINTERFACE代表什么?她等于多少 |
|
|
沙发#
发布于:2001-10-11 12:51
应该在ioctlcmd.h中有定义
|
|
板凳#
发布于:2001-10-11 13:00
没有啊,那里面只找到了这个东东
// // Our different file system types // typedef enum { GUIINTERFACE, STANDARD, NPFS, MSFS } FILE_SYSTEM_TYPE, *PFILE_SYSTEM_TYPE; |
|
|
地板#
发布于:2001-10-11 13:45
我的看法:
在filemon驱动是一个过滤驱动。 经过filemon的驱动的irp包。 有 1。STANDARD 即硬盘的各个分区(多个设备) 2。NPFS 命名管道设备 3。MSFS 邮槽设备 4。自身的设备 的IRP包。 为了区分是自身的IRP包。还是1。2。3。的包。 用了GUIINTERFACE标志IRP包是自身的 刚入门。如有错误请原谅 |
|
地下室#
发布于:2001-10-11 16:24
GUIINTETFACE 是自定义的枚举类型.
|
|
5楼#
发布于:2001-10-11 18:39
如果在filemon.sys执行zwcreatfile操作,最后截获的是4。自身的设备
的IRP包呢,还是1。STANDARD 即硬盘的各个分区(多个设备) 的包呢? |
|
|
6楼#
发布于:2001-10-11 18:52
也就是说filemon.sys中调用zwcreatfile会产生一个IRP_MJ_CREATE,它又将被filemon截获,这时候DeviceObject->DeviceExtension->Type是不是等于GUIINTERFACE呢
|
|
|
7楼#
发布于:2001-10-12 13:48
Win32子系统存在于用户模式中,所以用户模式中的应用程序可以容易地调用其例程。为了方便,Windows NT在内核模式中实现了一些有Zw前缀名的函数,这些函数可以使驱动程序调用Win32子系统例程。
(walter oney的电子书第三章第一节) ZwCreateFile是调用Win32子系统例程CreateFile 是STANDARD的。 我是这样认为的。具体没有实现过。也没有用softice跟踪过。最好你在问问别人吧。我可以肯定不是自身的设备IRP包。 |
|
8楼#
发布于:2001-10-12 14:04
只有用户应用程序产生的包才是自身的包,其余的都是系统的包.
|
|
9楼#
发布于:2001-10-12 17:13
应该是系统的
|
|
10楼#
发布于:2004-08-20 18:04
GUIINTERFACE到底应该怎么理解,是系统的又具体代表什么意思?
|
|
11楼#
发布于:2004-08-21 12:16
typedef enum {
GUIINTERFACE, STANDARD, NPFS, MSFS } FILE_SYSTEM_TYPE, *PFILE_SYSTEM_TYPE; 是自己定义的; GUIINTERFACE 是给自己的应用程序用的 STANDARD 看看hookdriver函数,所有挂钩的驱动器所付的类型是STANDARD 后面二个看HookSpecialFs()函数 明白了不? |
|