阅读:1522回复:6
拦截IRP的正确写法!各位大牛,巨牛看看!!
一;
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST; Irp->IoStatus.Information = 0; IoCompleteRequest( Irp,IO_NO_INCREMENT); return STATUS_INVALID_DEVICE_REQUEST; 二: Irp->IoStatus.Status = STATUS_ACCESS_DENIED; // or some other error code Irp->IoStatus.Information = 0; IoCompleteRequest( Irp,IO_NO_INCREMENT); return STATUS_ACCESS_DENIED; 三: Irp->IoStatus.Status = STATUS_ACCESS_DENIED; // or some other error code Irp->IoStatus.Information = 0; IoCompleteRequest( Irp,IO_NO_INCREMENT); return STATUS_SUCCESS; 那一个对呢?或者好一些?? |
|
沙发#
发布于:2007-01-28 22:23
最象正确的是第二种.
第一种在语法上是正确的,不过你返回的这个状态,很容易出问题 |
|
|
板凳#
发布于:2007-01-28 23:34
我也是这样认为的。
不过有多少种状态可以返回呢?? 有没有资料可查?? 谢谢。 |
|
地板#
发布于:2007-01-29 08:59
并不是不可以返回,是返回后有想不到的情况发生.hehe
|
|
|
地下室#
发布于:2007-01-29 12:20
xiexie
|
|
5楼#
发布于:2007-02-02 16:45
在ntstatus.h中,你可以根据里面的注释来选择最恰当的返回值
|
|
6楼#
发布于:2007-02-02 21:21
太感谢了
|
|