CBFS Storage 2020 Node.js Edition

Questions / Feedback?

CBMemDrive Configuration

The class accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

CBMemDrive Configuration Settings

AllowMoveStreamsBetweenFiles:   Whether alternate streams may be moved from one file to another.

This setting specifies whether alternate streams may be moved from one file to another using MoveFile or (for the CBDrive or CBMemDrive class) directly by the OS.

By default, this setting is disabled, and alternate streams can only be renamed within the same file, not moved between them.

Note: This setting cannot be changed within events.

AlwaysJournalMetadata:   Whether filesystem structure is always saved during modification, like in Journaling mode.

This setting specifies whether metadata (filesystem structure and directory data) are always saved to the backend medim when changed (this is the same behavior like in Journaling mode but without full journaling).

By default, this setting is enabled for increased stability of the filesystem structure. You can disable this setting to gain additional speed of operations, but the crash of the application ( or (for the CBDrive or CBMemDrive class) of the driver can lead to corruption of the filesystem structure.

Note: This setting cannot be changed within events.

AsyncDeleteStorageNotifications:   Whether system broadcasts for virtual drive deletion are sent asynchronously.

This setting specifies whether the WM_DEVICECHANGE broadcast is sent asynchronously (true) or synchronously (false) when the virtual drive is deleted using CloseVault.

By default, this setting is enabled, and the broadcast is sent asynchronously. This is typically sufficient, but applications may disable this setting if they find that Windows Explorer is still presenting virtual drives as available after they've been deleted (which may occur if the application exits immediately after deleting a virtual drive).

AutoCompactDelay:   How long a vault must remain idle before starting automatic compaction.

When a vault is open, and the AutoCompactAt property is set to a non-zero value, the class will automatically compact the vault in the background as necessary (assuming it is eligible for automatic compaction, as described by the AutoCompactAt documentation). This setting specifies how many milliseconds a vault must remain idle before starting automatic compaction operations.

By default, this setting is set to 0, and automatic compaction operations will start without delay.

Note: This setting cannot be changed within events.

DefaultFileCompressionLevel:   The default compression level to use when creating files and alternate streams.

This setting specifies the default compression level that the class should use when creating files and alternate streams, if applicable. Valid values are 0 through 9; where 0 means "use the default compression level for the selected compression algorithm".

By default, this setting is set to 0.

DeviceChangeBroadcastsEnabled:   Whether the user-mode API broadcasts WM_DEVICECHANGE messages.

This setting specifies whether the class's user-mode API should broadcast WM_DEVICECHANGE messages to top-level windows when necessary.

By default, this setting is enabled, causing the user-mode API to broadcast such messages. However, if the Helper DLL is installed, then it will also send such broadcasts upon being notified by the driver, causing a duplicate message to be sent; applications should disable this setting to prevent the duplicate broadcast.

LoggingEnabled:   Whether extended logging is enabled.

This setting specifies whether extended logging is enabled for this class; it is disabled by default. Please refer to the Error Reporting and Handling topic for more information.

This setting's value is stored in the registry and is persistent; it requires administrative rights to be changed.

MaxNonPagedNameLength:   The maximum number of name characters to store directly within a vault item.

This setting specifies the maximum number of name characters that may be stored within a vault item directly. If a vault item's name is longer than the specified value, then the first MaxNonPagedNameLength characters are stored directly, and the rest are stored in a dedicated vault page. The minimum valid non-paged name length is four characters (4).

A vault's max non-paged name length is permanent, it cannot be changed after the vault is created. When a vault is open, this setting cannot be changed, it can only be queried to obtain the value used by the vault.

By default, this setting is set to 0, and the class will automatically choose an optimal value when creating a vault based on PageSize.

Note: This setting cannot be changed when Active is true, and cannot be changed within events.

SupportSearchIndexer:   Specifies whether the driver must take additional measures to support indexing by Windows Search.

The Search Indexer of Windows 10 has been recently modified in the way that Search Indexer stopped indexing virtual disks. This happens because of the missing mounting point when the disk is created.

This setting, when enabled, tells the driver to create a fake mounting point and use it to work around the Search Indexer bug. By default, this setting is disabled.

Note: This property cannot be changed within events.

VolumeGuidName:   The GUID of the mounted volume.

Use this setting to obtain the guild of the created disk device. The value is returned as a string in the "Volume{GUID}" format, where GUID is the actual GUID.

Copyright (c) 2021 Callback Technologies, Inc. - All rights reserved.
CBFS Storage 2020 Node.js Edition - Version 20.0 [Build 7986]