What's New in CBFS Disk 2020
CBFS Disk 2020 is the latest version of Callback Technologies' popular virtual disk integration product, and represents a major upgrade from CBFS Disk 2017. The CBFS Disk 2020 toolkit includes a redesigned component API, extensively revised and expanded documentation, and numerous internal changes and upgrades.
This article is intended to provide both a high level overview of new features and functionality, as well as in-depth details about how to upgrade existing code from CBFS Disk 2017 to CBFS Disk 2020. Please refer to the CBFS Disk 2020 product page and documentation for more information.
- What's New
Updated Development Experience
A primary goal for Callback Technologies' 2020 product line was to revisit and refine the developer experience. Our efforts in this area have resulted in a number of changes across the board for each product, a few of which are worth noting here.
The CBFS Disk user mode API has been redesigned. The new API is designed to be easier to understand and to use; it is more streamlined and consistent than in previous versions, but just as flexible and performant. Additional details about how the API has changed can be found in the Upgrading section, below.
The product's documentation has also been extensively revised and expanded, making it easier to read and more helpful overall; and the included demo projects have been improved so as to better illustrate the usage of the components.
New Features & Changes
CBFS Disk 2020 includes numerous new features and changes. Here are some of the highlights:
- A Java edition of the product is now available (Windows only).
- Additional logging can now be enabled using the LoggingEnabled configuration setting.
- The internal libraries used to facilitate communication between the CBFS Disk system driver and CBDisk component have been rewritten to improve performance.
- The various shell helper DLLs have been merged into one Helper DLL.
This section contains information helpful for upgrading existing code from CBFS Disk 2017 to CBFS Disk 2020. Please note that a number of finer details and edition-specific differences are omitted due to the general-purpose nature of this content; such information can be found in the CBFS Disk 2020 documentation applicable to your edition.
When upgrading to CBFS Disk 2020, there are a number of general changes to keep in mind:
- The CBFSDisk component has been renamed to CBDisk.
- The manner in which events (previously known as "callbacks") are used has changed in some editions.
- The parameter list for a number of events has changed; and the types of parameters passed to events have been simplified in general.
- Many constants have been renamed; and all constants have moved to a dedicated, product-wide "Constants" class.
- The manner in which errors are reported during events has changed for some editions.
- The end-user driver deployment procedure has changed.
- The licensing scheme for the product has changed.
- The assembly and namespace names have changed in the .NET edition.
The following table describes how to upgrade from the old CBFSDisk component API to the new CBDisk component API:
|CBFSDisk Component (2017)||CBDisk Component (2020)|
|SectorSize property||This property is now a configuration setting.|
|AddMountingPoint method||Overloads have been merged into a single method.|
|DeleteMountingPoint method||Renamed to RemoveMountingPoint.|
|GetModuleStatus method||Split into the GetDriverStatus and GetModuleVersion methods.|
|GetMountingPoint method||Removed. This information is available via the MountingPoints collection property (.NET/Java editions) or the various MountingPoint* properties (other editions).|
|Install and Uninstall methods||Usage has changed; refer to the documentation for more information.|
|InstallIcon, IconInstalled, and UninstallIcon methods||Renamed to RegisterIcon, IsIconRegistered, and UnregisterIcon.|
|SetRegistrationKey method||Removed. Refer to the "Licensing Instructions" topic in the documentation for information about how to license the component for use in each edition.|
|Exit event||Renamed to Ejected.|
|GetFileSize event||Renamed to GetDiskSize.|
|ReadFile and WriteFile events||Renamed to DiskRead and DiskWrite.|
We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at firstname.lastname@example.org.