This is not needed in the IRP_MJ_CREATE dispatch routine.
It is inherently synchronous and it doesn’t matter in which routine
the wait will be (IopParseDevice or your CreateDispatch).
Thus you can safely wait in your dispatch routine and always return
status != STATUS_PENDING thus forcing the IopParseDevice not
to wait and immediately free the IRP.
Paul
-----P?vodn? zpr?va-----
Od: Maxim S. Shatskih [SMTP:xxxxx@storagecraft.com]
Odesl?no: 1. srpna 2000 21:12
Komu: File Systems Developers
P?edm?t: [ntfsd] Re: using STATUS_MORE_PROCESSING_REQUIRED: am I
using it correctly??using STATUS_MORE_PROCESSING_REQUIRED: am I using it
correctly??>STATUS_MORE_PROCESSING_REQUIRED. Here is some code, with all
>of the irrelevant domain specific stuff stripped out. Am I doing this
right?I would say - wrong a bit.
- Wait always, regardless of the return code from IoCallDriver.
- Call IoMarkIrpPending before IoCallDriver, and always return
STATUS_PENDING from your dispatch routine. See Nagar’s book for details -
“About STATUS_MORE_PROCESSING_REQUIRED stuff”.Max
You are currently subscribed to ntfsd as: xxxxx@sodatsw.cz
To unsubscribe send a blank email to $subst(‘Email.Unsub’)