Your dispatch routine is borken
Suppose your completion handler returned STATUS_MORE_PROCESSING_REQUIRED?
Not only would DV be complaining, but the system would be going about its
bugcheck nonsense.
Go re-read the KB articles on IRP processing here:
http://www.microsoft.com/whdc/driver/kernel/default.mspx
=====================
Mark Roddy
-----Original Message-----
From: Vladislav Goncharov [mailto:xxxxx@unshadow.net]
Sent: Thursday, November 11, 2004 11:13 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Blocking the request in filter driver’s completion
(post-filtering) [Impossible?]
Hello!
I want to filter request in completion routine of the filter driver (for
example read request: I’ve got data to filter only in completion).
If I want to deny this request with some error status in my completion I do:
// …
Irp->IoStatus.Status = STATUS_UNSUCCESFUL; // or some specific status
Irp->IoStatus.Information = 0;
return STATUS_SUCCESS;
}
But the driver verifier tolds:
“And IRP dispatch handler has returned a status that is inconsistent with
Irp’s IoStatus.Status field.”
That’s because DeviceDispatch returned STATUS_SUCCESS (it doesn’t know about
completions and post-filtering) but Irp->IoStatus.Status = ERROR.
I can’t change return value of DeviceDispatch routine. Is it means it’s
impossible to implement such technique in filter drivers?
Vlad
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@stratus.com To
unsubscribe send a blank email to xxxxx@lists.osr.com