阅读:1306回复:12
在MJ_Create里面隐藏某些文件,页错误发生。
我在MJ_CREATE里面取得当前文件的名字,并且成功取得了。取得之后呢,我判断这个文件名是否在我的filter列表里面,如果在,就结束IRP并返回create/open不成功信息。
请看我的这一部处理: if(在列表中) { ExFreePoolWithTag(nameInfo, SFLT_POOL_TAG); //释放已经打开的文件句柄,是否错误? if(irpSp->FileObject != NULL || irpSp->FileObject != (PFILE_OBJECT)-1) ObDereferenceObject( irpSp->FileObject ); Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Information = FILE_DOES_NOT_EXIST;//错误? IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_SUCCESS; } 代码如上。return后报页错误。帮我点拨一下,可以? |
|
|
沙发#
发布于:2007-03-20 10:16
我怎么才能让一个文件打开失败,让用户打开不了我指定的文件呢?
|
|
|
板凳#
发布于:2007-03-20 10:42
Irp->IoStatus.Status = STATUS_INVLIDE_HANDEL;
|
|
|
驱动小牛
|
地板#
发布于:2007-03-20 12:50
information不要乱指定.
|
|
地下室#
发布于:2007-03-20 14:10
#define FILE_SUPERSEDED 0x00000000
#define FILE_OPENED 0x00000001 #define FILE_CREATED 0x00000002 #define FILE_OVERWRITTEN 0x00000003 #define FILE_EXISTS 0x00000004 #define FILE_DOES_NOT_EXIST 0x00000005 都是常数。 |
|
|
5楼#
发布于:2007-03-20 14:26
infomation不要乱指定,它和irp有关系. 在create中,一般是指定返回的长度...没有就不要指定,否则...
|
|
|
6楼#
发布于:2007-03-20 15:17
znsoft一眼看出问题所在~~~
|
|
|
7楼#
发布于:2007-03-20 15:43
你怎么知道我是一眼?我看了好多眼.haha
大家多回答问题,俺们要推荐 DDK MVP了....~~~ |
|
|
驱动小牛
|
8楼#
发布于:2007-03-20 16:33
为什么不说我是一眼就看出来了呢?
.............. |
|
9楼#
发布于:2007-03-20 17:39
哈哈
|
|
|
10楼#
发布于:2007-03-20 23:34
引用第8楼yandong_8212于2007-03-20 16:33发表的“”: 你是一眼,我是两眼..hehe |
|
|
11楼#
发布于:2007-03-21 09:19
引用第7楼znsoft于2007-03-20 15:43发表的“”: DDK MVP,真的? 为了这个值了~ |
|
|
12楼#
发布于:2007-03-21 13:58
真的,我们正在和ms下属的某公司联络:)
|
|
|