RE: In last Close's completion,FileObject->SectionOb jectPointer isn't a Garbage Pointer.

Dejan,

Not at all. You do the referece count check before you send the
IRP_MJ_CLOSE to the underlying file system, not after. If there is a value
in the SectionObjectPointers structure in the dispatch routine, then it is
going to be valid upon completion (continued references) but if these are
NULL then it is quite likely that SectionObjectPointers will be invalid upon
completion.

Regards,

Tonyu

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: Dejan Maksimovic [mailto:xxxxx@alfasp.com]
Sent: Monday, August 25, 2003 4:59 PM
To: File Systems Developers
Subject: [ntfsd] RE: In last Close’s
completion,FileObject->SectionObjectPointer isn’t a Garbage Pointer.

Does this not make a problem for detecting last close, as described in
Reference Counting article in NT Insider?

Tony Mason wrote:

In the *completion routine* of an IRP_MJ_CLOSE the
SectionObjectPointer may have been destroyed. *I* personally like to
set the field to NULL in my FSDs, but you could also leave it pointing
to a (now free) piece of non-paged pool. Or you could make it point to
something different - equally invalid.


Kind regards, Dejan M. MVP for DDK
http://www.alfasp.com E-mail: xxxxx@alfasp.com
Alfa Transparent File Encryptor - Transparent file encryption services. Alfa
File Protector - File protection and hiding library for Win32 developers.
Alfa File Monitor - File monitoring library for Win32 developers.


You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com