Sin Lam,
Do the processing after waiting for the event in the dispatch routine after
calling IoCallDriver is the safest bet. The completion routine should look
something like this:
NTSTATUS CreateComplete(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN
PVOID Context)
{
KEVENT *pEvent = Context;
if (Irp->PendingReturned)
IoMarkIrpPending (Irp);
(void)KeSetEvent(pEvent, 0, FALSE);
return STATUS_MORE_PROCESSING_REQUIRED;
}
Ken
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Tan Sin Lam
Sent: Tuesday, September 18, 2001 8:55 AM
To: File Systems Developers
Subject: [ntfsd] IRP_MJ_CREATE and IoCallDriver
Hi,
I have some doubt on file system filter driver. I need to do some post
processing task such as sending a query IRP to lower file system to get the
file attribute.
Can I do the post-processing task for the IRP_MJ_CREATE in the dispatch
routine after IoCallDriver, before I return the status to the IO Manager?
For this case, do I need to initialize an event before IoCallDriver, wait
for the event in the dispatch routine and set the event in completion
routine?
Or should I do the post processing in the create completion routine?
Thanks for any suggestion!
Sin Lam
You are currently subscribed to ntfsd as: xxxxx@legato.com
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com