Hi, we are devellopping a filter driver and we are having some problems concerning the flushing of cache entries. In other words we want to force the flush of a file in cache while there are still open handles associated to that file stream.
In our filter driver, while processing a certain IRP and we need to terminate
the corresponding cached data of the file being accessed. We are wondering
how it can be done correctly (and if it is possible).
Can we use CcPurgeCacheSection on the apropriate SECTION_OBJECT? This
automaticaly executes CcUninitializeCacheMap on every FILE_OBJECT for this
stream. Can this be done while the file is open (FILE_OBJECTS related to this SECTION_OBJECT exist)?
Because [NT File System Internals] isn’t very clear about this, and other simillar operations, like CcUninitializeCacheMap (with TruncateSize set to 0) only purge the pages from the system cache when the last user handle is closed.
Does CcPurgeCacheSection garantee that the pages aren’t available in sytem cache anymore?
Thanks!
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