Irp->Cancel

In my legacy FSFD, if I terminate an application through the TaskManager
just at the right time, I am seeing Irp->Cancel set in the Read or Write
completion routines.

However, Irp->Status.Status is always 0 and Status.Information is always the
expected length. So the question is, do I complete the IRP_MJ_READ and
IRP_MJ_WRITE as I would normally, or do I do something special?

Thanks.

> expected length. So the question is, do I complete the IRP_MJ_READ and

IRP_MJ_WRITE as I would normally, or do I do something special?

Complete them as you would normally. Unless you’re explicitly supporting
cancel in your driver (i.e. you’re calling IoSetCancelRoutine) the Cancel
field of the IRP is really of no interest to you.

-scott


Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com

“Neil Weicher” wrote in message news:xxxxx@ntfsd…
> In my legacy FSFD, if I terminate an application through the TaskManager
> just at the right time, I am seeing Irp->Cancel set in the Read or Write
> completion routines.
>
> However, Irp->Status.Status is always 0 and Status.Information is always
> the expected length. So the question is, do I complete the IRP_MJ_READ
> and IRP_MJ_WRITE as I would normally, or do I do something special?
>
> Thanks.
>
>
>
>
>