Reposting the query to NTFSD from NTDEV.
In my create call back I am performing an operation on a file, if that get
times out I do a deferred operation on the same file on a work item using
FltQueueGenericWorkItem api. Not waiting for the thread to complete.
In the work item calling the FltCreateFile function so as it goes again to
the create callback to perform the operation . To identify whether the
request is from the same file on which I want to perform the deferred
operation I am using a global queue that keeps the file name and a flag.
When I am accessing the file (an exe) from cmd application, the first
request get times out and I initiate the deferred operation expecting my
work item to perform the request however at the same time again the request
comes from the cmd application and on that deferred operation is performed.
Can anyone please suggest how can I differentiate between the workitem
thread request and the CMD (*second*) request so as my work item thread
only server the request.
Thanks,
Sumit