RE: preventing recursive loop in create dispatch hand-ler

Thanks,
In my case, though, I need to open the file before the file system
because it is important that I know the file’s size (if the file exists),
and, of course, a create might change the file’s size (overwrite,
superceded, etc). I suppose I could backup to the parent directory and do a
directory query for the file in question to determine its size. Then again,
I wonder if FsRtlGetFileSize is smart enough to work with a FILE_OBJECT that
has not been opened yet? Anyway, I’d still be interested in answers to my
original question because just recognizing a recursive open may be simpler
than solving the problem another way (like I mention above).

Thanks,
Joel

-----Original Message-----
From: Pavel Hrdina [mailto:xxxxx@sodatsw.cz]
Sent: Wednesday, July 12, 2000 2:09 PM
To: File Systems Developers
Subject: [ntfsd] RE: preventing recursive loop in create dispatch handler

The best solution is to let the FSD to process the desired open first
and then you can read from the file. You do not need to close it because
you’re using the same file object as the successful requestor of this create
request.

Paul

-----P?vodn? zpr?va-----
Od: Smith, Joel [SMTP:xxxxx@ntpsoftware.com]
Odesl?no: 12. ?ervence 2000 20:00
Komu: File Systems Developers
P?edm?t: [ntfsd] preventing recursive loop in create dispatch handler

Hello,
I know this has been asked before, and I apologize for asking
again, but…
Can anyone suggest a good way to prevent a recursive loop when
opening the destination file for a create in the create dispatch routine.

for example:

CreateDisptachHandler(device, irp)
{
-ZwCreateFile(target of create) - this will cause a
recursive loop, obviously

-read some settings from file if it exists

-ZwClose(target of create)
}

I believe there is a ‘well known’ solution to this problem, but I
don’t know it.

Thanks,
Joel


You are currently subscribed to ntfsd as: xxxxx@ntpsoftware.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)