==> “It depends. In case thread wants to cancel the request it issued (for
example when it is terminating) it hangs until request is completed (or
cancelled). If this is OK for you don’t set up cancel routine.”
Question 1 :
Do u mean:
When completion routine is running (after file system marked IRP completed),
and the completion routing marks IRP as pending, and then a thread cancels
the request,
it wait until request is completed ?
Question 2:
If a thread cancels an IRP while in the completion routine, will the cancel
routine be called ?
==> “One more thing. If you pass request to lower driver make sure you set
CancelRoutine to NULL.”
Question: Do u mean pass it down from the completion request, or pass it
down on general ?
-----Original Message-----
From: Alexey Logachyov [mailto:xxxxx@vba.com.by]
Sent: Thursday, September 26, 2002 5:14 PM
To: File Systems Developers
Subject: [ntfsd] Re: Marking an IRP as pending in a file system filter
driver
It depends. In case thread wants to cancel the request it issued (for
example when it is terminating) it hangs until request is completed (or
cancelled). If this is OK for you don’t set up cancel routine.
One more thing. If you pass request to lower driver make sure you set
CancelRoutine to NULL.
-htfv
----- Original Message -----
From:
To: “File Systems Developers”
Sent: Thursday, September 26, 2002 4:54 PM
Subject: [ntfsd] Re: Marking an IRP as pending in a file system filter
driver
> Dear htfv,
>
> Thanks for your valuable information.
>
> One more question is should filter driver definitely set cancel routine
> when it returns status pending.
>
> Thanx in advance,
> Kedar.
>
> > You don’t need to put anything to IoStatus. If operation is syncronous
IO
> > manager will wait for operation completion and it does not care for
IoStatus
> > values. If operation is asynchronous you cannot get any status until
> > operation is actually completed. But I remember that I read somewhere
that
> > it is not allowed to set IoStatus.Status to STATUS_PENDING.
> >
> > One more detail. Microsoft does not recommend to return STATUS_PENDING
in
> > response to IRP_MJ_CREATE from FSFD. The only reason I see for that is
one
> > that if you return STATUS_PENDING and later pass the request to lower
> > device, thread context may change and thus security check may fail.
Though I
> > think correctly designed driver should be able to handle this situation.
> >
> > -htfv
> >
> >
> > ----- Original Message -----
> > From:
> > To: “File Systems Developers”
> > Sent: Thursday, September 26, 2002 2:51 PM
> > Subject: [ntfsd] Re: Marking an IRP as pending in a file system filter
> > driver
> >
> >
> > > Dear htfv,
> > >
> > > Thanks for your information.
> > >
> > > Correct values means IoStatus.Status = STATUS_PENDING
> > > and IoStatus.Information = 0;
> > > So I should not put these values. What are the correct values to put
here.
> > >
> > > So does your solution works for any kind(with any options) of
> > > IRP_MJ_CREATE.
> > >
> > > Thanx,
> > > Kedar.
> > >
> > >
> > > > Yes Notepad will wait until request is completed. But please explain
> > what do
> > > > you mean with ‘correct status values in IoStatus’. You should not
set
> > > > IoStatus.Status=STATUS_PENDING.
> > > >
> > > > -htfv
> > > >
> > > >
> > > > ----- Original Message -----
> > > > From:
> > > > To: “File Systems Developers”
> > > > Sent: Thursday, September 26, 2002 1:38 PM
> > > > Subject: [ntfsd] Marking an IRP as pending in a file system filter
> > driver
> > > >
> > > >
> > > > > Hai All,
> > > > >
> > > > > I have a question regarding the file system filter driver on
windows
> > 2000.
> > > > >
> > > > > Please see the case below:
> > > > >
> > > > > i) I open a file called text1.txt with notepad
> > > > > i) my file system FILTER driver receives an IRP_MJ_CREATE for the
> > file
> > > > > ii) my FILTER driver marks the IRP as pending by calling
> > > > > IoMarkIrpPending(Irp) and returns STATUS_PENDING with correct
> > > > > status values in IoStatus.
> > > > >
> > > > > My question here is does NOTEPAD wait until my filter driver
completes
> > the
> > > > > create request successfully? if no, is there procedure that I can
> > delay
> > > > > the notepad request.
> > > > >
> > > > > Any information will be greatly helpful.
> > > > > Thanx in advance,
> > > > > Kedar.
> > > > >
> > > > > —
> > > > > You are currently subscribed to ntfsd as: xxxxx@vba.com.by
> > > > > To unsubscribe send a blank email to %%email.unsub%%
> > > > >
> > >
> > > —
> > > You are currently subscribed to ntfsd as: xxxxx@vba.com.by
> > > To unsubscribe send a blank email to %%email.unsub%%
> > >
>
> —
> You are currently subscribed to ntfsd as: xxxxx@vba.com.by
> To unsubscribe send a blank email to %%email.unsub%%
>
—
You are currently subscribed to ntfsd as: xxxxx@cyber-ark.com
To unsubscribe send a blank email to %%email.unsub%%