EldoS | Feel safer!

Software components for data protection, secure storage and transfer

AllowDelayClose ?

Also by EldoS: CallbackFilter
A component to monitor and control disk activity, track file and directory operations (create, read, write, rename etc.), alter file data, encrypt files, create virtual files.
Posted: 12/19/2013 13:21:06
by Sid Schipper (Standard support level)
Joined: 03/14/2008
Posts: 285

The release notes for version 2.1 say that the AllowDelayClose function is deprecated, but your introduction to the Callback File System, dated in 2013 still refers to it in the section on closing files. Is that function still available? And if not, how does the Callback File System handle closes in version 3.2.122?
Posted: 12/20/2013 02:11:36
by Eugene Mayevski (EldoS Corp.)

The function is long gone. I don't understand the question though.

Sincerely yours
Eugene Mayevski
Posted: 12/23/2013 10:48:56
by Sid Schipper (Standard support level)
Joined: 03/14/2008
Posts: 285

The question is this, when the AllowDelayClose was available setting it to TRUE would allow the operating system to delay closing files, while setting it to FALSE would force Windows to immediately close files. Since that function no longer exists, which way does the system work? Are file closes delayed or not?
Posted: 12/23/2013 11:15:16
by Volodymyr Zinin (EldoS Corp.)

Currently CBFS always tries to call the OnCloseFile callback as fast as possible.

But some type of delay is still present, because the system calls file closing asynchronously. I.e. when a program closes a handle to a file (calls the CloseHandle system API) then the system synchronously sends the IRP_MJ_CLEANUP request to the file system and CBFS synchronously calls the optional OnCleanup callback. But although handle to the file has been closed the file isn't completely closed yet. Some system component such as cache manager or memory manager (as well as third-party file system filters) can hold a reference to the file. They do it for example in order to hold cached file data in the memory in hope the file will be reopened in a short term. So the file can be closed only when the last reference to the file is closed. The system in this case sends the IRP_MJ_CLOSE request and CBFS calls the OnClose callback.



Topic viewed 1128 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!