Callback File System - Version 3.0.78 - Released June 9, 2010 What's new: [ Legend: ] [ ! Important change ] [ + Added feature ] [ * Improved/changed feature ] [ - Bug fixed ] ^^^^^^^^^^^^^^^^^^^ ^^^ Version 3.0 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- June 9, 2010 v.3.0.78 Maintenance update - Fixed a problem when automount is disabled. Now virtual storages are always mounted not depending whether automount is disabled or not. - Fixed a problem with mounting a registry hive file, placed on CBFS drive. --- May 15, 2010 v.3.0.77 Maintenance update * Installation of Callback File System driver in PnP mode caused "deactivation" of Windows 7 due to the recently introduced bug in Windows activation module. Workaround has been added. * Now both 64-bit and 32-bit DLLs are installed and registered on 64-bit systems. This solves several problems such as display of virtual disks in Open dialog of 32-bit applications as disconnected. * Now the "disable write cashe" policy is forcibly set for PnP storages. - NFS shares created by the use of "Windows services for UNIX" didn't work properly if they were mounted on UNIX machines. Fixed. - Fixed a bug which caused a sporadic deadlock in the user callback mechanism (in the case if the timeout had been enabled). - Fixed a bug that caused an error during the driver installation in the case of the 32-bit installer on a 64-bit machine and when the PnPSupport parameter is set to FALSE. - Fixed a bug with EnumerateDirectory callback in VDisk and VMounter samples, when multiple view of the same files or folders are presents. - Fixed a bug in Enumerate directory callback when long file names not displayed and directory listing with a lot of files displayed incorrectly. --- May 3, 2010 v.3.0.76 Maintenance update - Fixed a problem with GetModuleStatus method, which always returned False for helper DLLs. --- April 29, 2010 v.3.0.75 Maintenance update + Added .NET 4.0 assemblies * Now the "disable write cashe" policy is forcibly set for PnP storages. - NFS shares created by the use of "Windows services for UNIX" didn't work properly if they were mounted on UNIX machines. Fixed. - Fixed a bug which caused a sporadic deadlock in the user callback mechanism (in the case if the timeout had been enabled ). - Fixed a bug that caused an error during the driver installation in the case of the 32-bit installer on a 64-bit machine and when the PnPSupport parameter is set to FALSE. - Fixed a bug in Enumerate directory callback when long file names were not displayed and directory listing with a lot of files displayed incorrectly. - Fixed a bug with EnumerateDirectory callback in VDisk and VMounter samples, when multiple views of the same files or folders were present. --- March 30, 2010 v.3.0.74 Official Release + Added OnFlushFile callback / event --- March 23, 2010 v.3.0.73 Internal build --- March 9, 2010 v.3.0.72 Release Candidate 1 ! Changed Install function (added new parameter) ! Completely reworked methods and properties related to mounting point management + Now it's possible to create a mounting point as a directory on the NTFS drive - Fixes in sample applications --- February 6, 2010 v.3.0.71 Beta version - Fixed various minor errors, reported for build 70 --- January 9, 2010 v.3.0.70 Beta version + Possibility to mount the file system as a plug-n-play device, so that the disk becomes visible in device manager + Possibility to set custom icons in Explorer + Support for short (8.3) file names (required by some third-party products and drivers) + Support for file access by index (this feature is built into NTFS file system and is used by some third-party products and drivers) + NotifyDirectoryChange was extended to be come (optionally) synchronous or asynchronous ! Driver and helper DLL installation mechanism has been changed ! GetDriverStatus method has been changed to GetModuleStatus and it's parameter list has been changed ! OnGetFileInfo callback got new parameters ! OnEnumerateDirectory callback got new parameters ! UseSystemCache property has been removed ! Parameter list was changed for OnGetVolumeSize callback ^^^^^^^^^^^^^^^^^^^ ^^^ Version 2.5 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- March 29, 2010 v.2.5.59 Maintenance update - On some computers it was not possible to work with network mounting points via UNC path. Fixed. --- January 25, 2010 v.2.5.58 Maintenance update * Reverted certain changes, made in build 57, to provide compatibility between the driver and user-mode API of older versions. --- January 21, 2010 v.2.5.57 Maintenance update * File Allocation Size is reported to the OS as aligned to the cluster size - Fixed a memory leak that appeared when copying large blocks of data to the virtual disk from the OS. --- December 11, 2009 v.2.5.56 Maintenance update * Added a workaround in the driver, which prevented it from unmounting a disk when McAfee Antivirus was active on that drive - Fixed the problem with VSMntNtf.dll, which in some cases didn't catch notification from the service --- October 16, 2009 v.2.5.55 Maintenance update + [VCL] Added support for CodeGear RAD Studio 2010. - Incorrect error code was returned during the empty root folder enumeration. Fixed. - Fixed a bug on Vista SP2 x64 - it was not possible to delete storages under restricted user. - Fixed various minor bugs. --- August 12, 2009 v.2.5.54 Maintenance update * [VCL] C++Builder compiler produced invalid value for StorageCharacteristics property when converting the enum to int. Workaround has been added to address the issue. --- July 30, 2009 v.2.5.53 Maintenance update - [.NET] Setting the value of file time attribute to DateTime.MinDate caused exception. Fixed. --- July 20, 2009 v.2.5.52 Maintenance update - Fixed a bug in the DeleteMountingPoint(index) call. It wasn't possible to delete network mounting points by means of this API. - Fixed a bug that sometimes caused the error "The specified network name is no longer available" during remote access to a SMB shared virtual disk. --- May 14, 2009 v.2.5.51 Maintenance update - The change in the uninstaller, made in build 50, could cause problems with installation of the driver in some cases when the driver was reinstalled. Fixed. --- May 10, 2009 v.2.5.50 Maintenance update - Fixed a bug that sporadically caused BSOD after the user mode part of the CallbackFS implementation has finished without closing virtual drives. - Fixed a bug in Helper DLL uninstaller, which didn't always remove the unused helper DLLs. --- March 22, 2009 v.2.5.49 Official release - Fixed minor bugs related to mounting a network mounting point --- March 14, 2009 v.2.5.48 Pre-release + Added an option to disable file info cache. + Added flags that tell AddNetworkMountingPoint to create an SMB share from the created mounting point --- February 27, 2009 v.2.5.47 Release Candidate 2 - Fixed minor bugs related to mounting a network mounting point --- February 18, 2009 v.2.5.46 Release Candidate * Improved the implementation of the NotifyDirectoryChange function. - Fixed a bug which occurred under Vista when the network mounting points were used (some files were not opened). --- February 3, 2009 v.2.5.45 Beta version + Added complete support for network mounting points with possibility to control mounting point functionality - Fixed an error which could happen when using DeleteStorage() method on storage that is busy (there exist open handles for storage objects in the system) - Fixed the deadlock which could happen when copying many files to/from the storage on Vista. The problem happened due to internal inconsistences of cache manager and Explorer in Vista. Workaround has been introduced. - Fixed a bug that happened when the attempt was made to delete a folder which contained additional named streams (not files, but named streams). ^^^^^^^^^^^^^^^^^^^ ^^^ Version 2.1 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- December 16, 2008 v.2.1.44 Maintenance update - [VCL] NotifyDirectoryChange didn't work with some combinations of flags. Fixed. --- November 21, 2008 v.2.1.43 Official Release + Added Delphi 2009 and C++Builder 2009 support - .NET assembly for Itanium was not properly installed --- November 6, 2008 v.2.1.42 Beta version + Added C++ libraries and .NET assembly for Itanium (IA64) architecture --- October 16, 2008 v.2.1.41 Beta version + Added drivers for IA64 (Itanium) architecture. User-mode APIs are to become available in release. * The number of calls to OnGetFileInfo, OnSetAllocationSize and OnSetFileAttributes callbacks has been decreased. * The function AllowDelayedClose became obsolete. It's not necessary to use it. Now the OnClose callback is always called without delay. * Use of nonpaged memory in the driver is significantly decreased. - Access to files via Windows share sometimes "freezed" for several seconds. Fixed. - Fixed a bug in the directory enumeration code when some specific search masks were used. - Sometimes it was not possible to delete a folder from which files had been deleted. Fixed. - Fixed a bug that caused a deadlock in the CallbackFS driver. ^^^^^^^^^^^^^^^^^^^ ^^^ Version 2.0 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- October 7, 2008 v.2.0.40 Maintenance update + Added Tag property. + Added VersionInfo resource to the Installation DLL and .NET assemblies. - Fixed minor issues. --- September 19, 2008 v.2.0.39 Maintenance update - Fixed crash when a code from the callback functions performs i/o requests to files on flash card. - It was not possible to share (via SMB) the whole CallbackFS storage between Vista SP1 computers. Fixed. - Fixed a problem when it was not possible sometimes to delete a file on a CallbackFS storage in the case when the OnEnumerateDirectory callback didn't report "." and ".." directories. In the current version it does not matter whether they are reported or not. --- August 22, 2008 v.2.0.38 Minor update. - [.NET 1.1] Fixed a couple of minor issues. August 20, 2008 v.2.0.37 Maintenance update * Optimized code for handling file times and attributes. - Fixed a bug in setting file times (last write time, last access time). - Corrected work with additional file streams. - Fixed a bug with missed OnClose callbacks. In some rare situation such callback was not called. --- July 26, 2008 v.2.0.36 Maintenance update - Fixed a bug with deletion of a directory that happened in some cases (reported by Tobias Fensch in the forum) --- July 16, 2008 v.2.0.35 Maintenance update - System crashed when unmount was being processing. - All network mounting points pointed to the first created virtual storage. - InstallHelperDll function failed to install helper DLLs when the path to target DLL contained one or more space characters. - Bug with file enumeration via SMB shares - not all files/directories were shown. --- June 24, 2008 v.2.0.34 Maintenance update * If the user didn't reboot the system after UninstallDriver returned RebootNeeded parameter set to TRUE, and installed the new driver immediately, the driver stopped working. The workaround for the issue have been added. --- June 20, 2008 v.2.0.33 Maintenance update * Installation of the helper DLLs has been reworked to allow correct installation of 64-bit DLLs by 32-bit processes and vice versa. * Installation of VSMntNtf.dll via RegisterHelperDLL on 64-bit Vista works now. --- June 11, 2008 v.2.0.32 Maintenance update - Fixed a problem with installation of 64-bit driver on Vista. Vista didn't validate the timestamp made by GlobalSign timestamping server. We had to change the timestamping provider. to fix the issue. - Fixed a problem with AddNetworkMountingPoint method which didn't show the device in Explorer in case when AddNetworkMountingPoint was called before MountMedia. The function worked fine when MountMedia was called first. - Fixed installation of VSMntNtf.dll with InstallHelperDLL. InstallHelperDLL erroneously checked Windows error code even in case of opertion success. ! Installation of VSMntNtf.dll via RegisterHelperDLL on 64-bit Vista currently doesn't work. The problem is caused by Vista security settings. We are working on this and the fix will be available in the next update. --- May 31, 2008 v.2.0.31 Major update --- May 30, 2008 v.2.0.30 Maintenance update - Installation of helper DLLs didn't work. Fixed. --- May 20, 2008 v.2.0.29 Release Candidate 2 --- May 15, 2008 v.2.0.28 Maintenance update --- May 14, 2008 v.2.0.27 Maintenance update --- May 12, 2008 v.2.0.26 Release Candidate 1 ! New parameters have been added to OnCreateFile and OnOpenFile events. + Process access restrictions have been added. + Mounting points can now be added on per-session basis for other session (and not just all or current session, as before). + Network Redirector helper DLL has been added. + Mount Notification helper DLL was added. ^^^^^^^^^^^^^^^^^^^ ^^^ Version 1.2 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- April 4, 2008 v.1.2.25 Minor update - Fixed various minor issues reported by the users - [.NET] Fixed installation of the assembly on systems with .NET 3.5 only (no .NET 2.0 SDK installed) --- March 7, 2008 v.1.2.24 Minor update - Fixed certain problems (slowness and sporadic BSODs) when the virtual disk is shared and accessed across the LAN --- March 3, 2008 v.1.2.23 Internal build --- February 26, 2008 v.1.2.22 Minor update. - [.NET] Fixed the issue in OnEnumerateDirectoryCallback that exposed itself as "hiding" the file names in certain rare cases --- February 21, 2008 v.1.2.21 Minor update. * Some applications didn't process the error code correctly if they tried to set file security and the appropriate callback was not implemented. Now Callback File System returns SUCCESS on each SetFileSecurity request, thus fooling such applications. --- January 15, 2008 v.1.2.20 Minor update. * Now GetOriginatorToken can retrieve the user name for remote users (when the virtual disk is shared) --- December 29, 2007 v.1.2.19 Minor update. + Added CallAllOpenCloseCallbacks property. - [.NET] CbFsNotifyFileAction was not declared as public in .NET 2.0 assembly. --- December 14, 2007 v.1.2.18 Major update. + Added SetFileSystemName method as a workaround for some paranoid Vista features. + Added AllowDelayedClose method to allow or forbid the driver to delay closing of the files. --- December 4, 2007 v.1.2.17 Pre-release. + Added a DLL that can be used in the installation scripts / modules to install and uninstall the drivers * Added a workaround for buggy antivirus applications (old AVG versions etc.) which aquired a global lock on some resources and caused a deadlock in their code. --- November 21, 2007 v.1.2.16 Release Candidate 2, maintenance update - Added workarounds for some bugs of third-party filter drivers --- November 1, 2007 v.1.2.15 Release Candidate 2 - Fixed a bug with optional (secondary streams and security) callbacks - Fixed an issue on 64-bit systems with 64-bit user-mode API - Fixed a deadlock when UseSystemCache was set to true - Fixed parameter types for some callbacks in some user-mode APIs --- October 28, 2007 v.1.2.14 Release Candidate - Fixed a bug with alternate data streams --- October 1, 2007 v.1.2.13 Beta 1 + Added ThreadPoolSize property to control the number of worker threads, that call callback functions + Added named stream support via OnEnumerateNamedStreams event + Added directory change notifications via NotifyChangeFileOutside method (not documented yet) + Added support for file security information via OnGetFileSecurity and OnSetFileSecurity events (not documented yet) + Added a way to change callback timeouts (not documented yet) ^^^^^^^^^^^^^^^^^^^ ^^^ Version 1.0 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- August 9, 2007 v.1.0.11 Minor update + Added ReleaseUnusedFiles method * Improved compatibility with SMB (shared drives) when the virtual disk was shared --- July 29, 2007 v.1.0.10 Maintenance update + Added the Virtual Mounter sample that illustrates how to create and manage the file system in memory - Fixed the issue with Windows 2000 shutdown when Callback File System driver is installed --- July 18, 2007 v.1.0.9 Maintenance update + Added a sample for .NET 1.1 --- July 7, 2007 v.1.0.8 Minor update ! Added GUID parameter to InstallDriver/UninstallDriver/GetDriverStatus methods * Improved handling of expired evaluation keys - Fixed the issues with OnSetFileSize event --- June 18, 2007 v.1.0.7 Minor update ! Removed DestroyStorageOnProcessTerminated property + [.NET] Added .NET 1.1 assembly + [C++] Added different libraries for static and dynamic linkage with RTL. --- June 6, 2007 v.1.0.6 Official Release - Fixed various minor issues --- May 31, 2007 v.1.0.5 Release Candidate 3 * [.NET] Improved handling of EnumerationContext in .NET samples - Fixed the issue with volume label - Fixed the issue in enumerating the directory, where the longer file names could cause the files to be skipped during enumeration --- May 25, 2007 v.1.0.4 Release Candidate 2 + Added GetOriginatorProcessName and GetOriginatorToken methods --- May 16, 2007 v.1.0.3 Release Candidate 1 + Added UseSystemCache property + Added DestroyStorageOnProcessTerminated property * [.NET, VCL] The component is now registered in toolbox / component palette (yet without an icon) - Fixed various minor bugs --- April 27, 2007 v.0.0.2 Beta version + [C++] Added C++ API and C++ sample + [.NET] Added VB.NET sample - Fixed various minor bugs --- April 14, 2007 v.0.0.1 First public beta version