CallbackFilter - Version 2.3.47 - Released May 16, 2012 What's new: [ Legend: ] [ ! Important change ] [ + Added feature ] [ * Improved/changed feature ] [ - Bug fixed ] ^^^^^^^^^^^^^^^^^^^ ^^^ Version 2.3 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- May 16, 2012 v.2.3.47 Maintenance update + Added FlushFilesOnOpen property which enables flushing of orphan MMFs of files being opened. Read documentation for detailed description. + Added OwnProcessFiltered property, which enables or disables filtering of file requests coming from the application that runs CallbackFilter. By default such requests are not filtered (i.e. filters are bypassed). - AddPassThroughCallbackRule method didn't set individual flags and the whole set of callback flags was added to the rule instead. Fixed. - If OnCloseFileC callback raised an exception, BSOD happened. Fixed. - OnFilterDetach callback was called twice. Fixed. - When OnRead/OnWrite requests are handled by user callbacks (without passing them to the OS), file pointer could point at incorrect position. Fixed. - If AttachFilter() raised an exeption, the following call to Active() method could return true. Fixed. - When flags were added several times using AddFilterRule, new flag values were incorrectly merged with previously set flags. Fixed. --- January 18, 2012 v.2.3.46 Maintenance update - fixed rare BSOD on filter detaching right after deletion of filtered file - fixed WriteOnly rule - various optimizations --- November 14, 2011 v.2.3.45 Maintenance update - fixed Enñrypt sample - rare case when garbage data read from the newly created file in \Crypt folder - fixed rare deadlocks on FilterDetach call - deleted noninformative FileSize changes notifications related to Create/Open callback with specific CreateDisposition values --- September 15, 2011 v.2.3.44 Official release --- August 25, 2011 v.2.3.43 Release Candidate 2 - Some memory leaks when SetReadWriteFileInPreCreatePath = false have been fixed --- July 7, 2011 v.2.3.42 Release Candidate - Intermittent BSOD when calling a reparse callback has been fixed - Some cached OnRead callbacks were not called. Fixed. --- June 17, 2011 v.2.3.41 Beta version + Added OnPostGetFileSizeC and OnGetFileSizesN callbacks ^^^^^^^^^^^^^^^^^^^ ^^^ Version 2.2 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- May 12, 2011 v.2.2.40 Private build - [.NET] Fixed the exception class to have Message and ErrorCode as virtual properties --- May 7, 2011 v.2.2.39 Official release --- April 29, 2011 v.2.2.38 Private build --- March 31, 2011 v.2.2.37 Release Candidate 2 ! When network disks are monitored under Windows XP and Windows 2003 Server, BSOD with error code NO_MORE_IRP_STACK_LOCATIONS (35) is reported. This happens when multiple filters (over 3) are installed due to shortcoming in one of Windows drivers. The solution is described on http://support.microsoft.com/kb/906866. + Added functions to specify exceptions to the rules - The bug with system crash with error code Bug Check 0xF9: DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN has been fixed. - Some issues with use of CreateNonCbFile() method have been fixed. --- February 22, 2011 v.2.2.36 Release Candidate + Now it's possible to create rules for hidden mounting points. The filter for such rule should start with "\\.\mounting_point_name" - The issue with renaming files, for which active reparse points exist, has been fixed. --- February 10, 2011 v.2.2.35 Beta version + Added ProcessCachedReadWriteCallbacks property to allow filtering of "cached" calls. Non-cached requests are requests that go from cache to the file system. Cached requests go from the OS to the cache manager. Previously only "non-cached" requests were processed for better speed and you can enabled cached requests filtering now. + A boolean parameter has been added to OnReadFileEventC and OntWriteFileEventC callbacks to distinguish between cached and non-cached requests. - Fixed an error, which caused GetFileInformationFromHandle() WinAPI function to return incomplete data when this function was used with the handle obtained using OpenFile() method of CallbackFilter object. ^^^^^^^^^^^^^^^^^^^ ^^^ Version 2.1 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- January 28, 2011 v.2.1.34 Minor update - Filter rules didn't work if they were added before the filter was activated. Fixed. - Exception happened if filter rules were not deleted when filter was deactivated. Fixed. - AddFilterAccessRule() function of .NET API always returned false. Fixed. --- January 6, 2011 v.2.1.33 Minor update + Added functions to work with Extended Attribute filtering - The issue in AddFilterDefaultRule() function has been fixed --- December 4, 2010 v.2.1.32 Minor update + Added ReadWriteFileInPreCreatePath property that enables or disables possibility to read/write the file in OnCreate/OnOpen callbacks. - The issue with using OpenFile() method from limited account has been fixed - The issue with adding filtration rules in unique volume name format ( Volume\{GUID}\ ) for dynamic disks has been fixed - Minor fixes related to seldom system crashes during application activation / deactivation were made --- October 10, 2010 v.2.1.31 Minor update + Added FlushFilesOnClose property - an issue in notification callbacks, that in certain conditions could cause system lock, has been fixed --- September 1, 2010 v.2.1.30 Minor update - Fixed the recently introduced issue with system boot or shutdown blocking, which could occur on some systems - Fixed the issue with storing callback context when several filters were set in parallel - Fixed the system crash that could occur when two or more filters monitored the same folder - [.NET] Fixed references in .NET samples - [VCL] Wrong precompiled units for Delphi 5 were included. Fixed. --- July 31, 2010 v.2.1.29 Minor update - Fixed the crash that happened during filtration of enumeration of network disks - Fixed some problems with Encrypt sample operating with network disks - Fixed the crash that happened if timeout expired in OnCreateFile/OnOpenFile --- July 8, 2010 v.2.1.28 Minor update + Added OnReparseFileName callback / event. The event lets you change reparsed file name if needed. - memory leaks, introduced in build 27 has been fixed - error in OpenFile method in cases when the file could not be opened due to access error has been fixed - in some cases the system could crash when reparse rules were set. Fixed. - In some cases the system crashed when the timeout elapsed during callback execution. Fixed. - In some cases 64-bit system crashed when setting a filter on the root folder of system partition. Fixed. --- June 3, 2010 v.2.1.27 Major update - Fixed the problem with OnEnumerateDirectory callback for root folders - Fixed the problem with opening the file using OpenFile() method of CallbackFilter API, if the file path exceeded certain length (larger than MAX_PATH + variable part) --- May 16, 2010 v.2.1.26 Release Candidate ! AttachFilter method has been changed to throw exception if the parameters are not valid (eg. the volume is not active). + Added and documented set of functions for work with reparse points + Added OnFilterAttachToFsVolume and OnFilterDetachFromFsVolume callbacks / events * Add*FilterRule() methods return False, when the rule is set for non-existing path or inactive volume - Errors in Encrypt .NET sample has been fixed - Logic of Active property has been fixed --- April 30, 2010 v.2.1.25 Beta version + Added support for reparse points ^^^^^^^^^^^^^^^^^^^ ^^^ Version 2.0 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- March 15, 2010 v.2.0.24 Maintenance update + Added OnFilterAttach and OnFilterDetach callbacks / events + Added possibility to check FILE_ATTRIBUTE_DIRECTORY attribute in FileAttributes parameter of OnPostOpen and OnPostCreate callbacks + Encrypt sample has been improved * improved compatibility with various antivirus filter drivers - problems with dynamic disk monitoring has been fixed - a problem with reading and writing of the data in pre-create callbacks has been fixed --- January 9, 2010 v.2.0.23 Maintenance update - Various stability fixes --- September 15, 2009 v.2.0.22 Maintenance update + [VCL] Added packages and precompiled units for Delphi 2010 - Improved resource utilization in kernel-mode driver - Improved Encrypt sample operations - Fixed BSOD which could happen when handling close callback on FAT file system - Fixed the issue in user mode API when callbacks sometimes didn't reach the handlers. - [VCL] Installation was missing VCL\Sources\Obj folder --- July 8, 2009 v.2.0.21 Maintenance update - Fixed a memory leak --- July 7, 2009 v.2.0.20 Official release - Fixed various minor bugs reported by the users for version 2.0.19. --- June 20, 2009 v.2.0.19 Pre-release - Fixes several situations which potentially could cause deadlocks --- June 12, 2009 v.2.0.18 Pre-release Due to the number of additions and changes (including one breaking change) we decided to release new version as version 2.0. + Added possibility to create multiple filters within the same or different applications + Added function to set on-boot rules, which can be used to block access to certain files or directories without controlling application + Added Post-event callbacks for CanFileBeDeleted and RenamOrMove operations * Added CreateDisposition parameter to certain callbacks * Added compatibility with Windows 2000 SP4 ^^^^^^^^^^^^^^^^^^^ ^^^ Version 1.1 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- May 20, 2009 v.1.1.17 Release Candidate 2 - Fixed various minor bugs reported by the users for version 1.1.16. --- March 25, 2009 v.1.1.16 Release Candidate 1 - Fixed various minor bugs reported by the users for version 1.1.15. --- March 9, 2009 v.1.1.15 Beta version + Added possibility to track operations performed with the mounted network disks. ^^^^^^^^^^^^^^^^^^^ ^^^ Version 1.0 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- March 7, 2009 v.1.0.14 Private build --- January 14, 2009 v.1.0.13 Maintenance update - In some cases unloading the active driver on Vista could cause BSOD. Fixed. --- December 11, 2008 v.1.0.12 Maintenance update - Some notification callbacks were called even when the operation failed. Fixed. --- December 9, 2008 v.1.0.11 Maintenance update - It was not possible to activate the filter from the limited user account. Fixed. --- November 22, 2008 v.1.0.10 Maintenance update - Fixed various minor issues reported by the users --- October 22, 2008 v.1.0.9 Official release --- July 22, 2008 v.0.2.8 Pre-release ! The last build before release - Fixed various bugs reported by the users --- June 27, 2008 v.0.2.7 Release Candidate 2 + Added FileMon sample - Fixed various bugs reported by the users --- June 9, 2008 v.0.1.6 Maintenance update - Some notification callbacks were not called. Fixed. --- June 7, 2008 v.0.1.5 Maintenance update - Added a workaround for the problem of 64-bit driver not installing on Vista due to the bug in Vista - Fixed various bugs reported by the users --- June 4, 2008 v.0.1.4 Release Candidate 1 + Added new callbacks: OnEnumerateDirectory*, OnCloseEnumeration, OnCloseFile* * OnCreateFile* callbacks have been split to OnCreateFile* and OnOpenFile* - Lots of minor issues were fixed --- April 6, 2008 v.0.0.3 Maintenance update - [VCL] Fixed some issues in VCL API --- April 3, 2008 v.0.0.1 First public beta version