Callback Technologies Knowledge Base

CBFS Connect Articles:


Does CBFS Connect include any patented technologies?

Does CBFS Connect include any patented technologies

Getting started with CBFS Connect

The article reviews how to get started step by step with CBFS Connect

How do I enable Windows Search on CBFS Connect drive?

Enabling Windows Search on CBFS Connect drive

What does "Could not load file or assembly 'CBFSNet.dll' or one of its dependencies" mean?

The meaning of "Could not load file or assembly 'CBFSNet.dll' or one of its dependencies".

How can I make the file read-only to certain process?

How to make a file read-only to certain process?

How do I create a disk for only one user (session)?

How to create a disk for only one user (session)

How do I show different files to different users on the same filesystem?

Showing different files to different users on the same filesystem

How can I make my disk support paths longer than 260 characters?

Making disk support paths longer than 260 characters

What is this strange file name with a semicolon inside?

When you handle OnCreateFile and / or OnOpenFile request, you can get the file name with a semicolon (":") in it. This means that the request is made to create a…

What happens if the filesystem fails to delete the actual file from the backend data storage?

CBFS Connect is not different from other file systems in this aspect. Information about file existence will be removed from Windows cache, but on next scan of th…

If we set filesystem name to NTFS, what effect will this change have?

Setting filesystem name to NTFS and the changes effect

When some file request is handled by the callback/event handler (eg. OnReadFile), are other requests for the same file waiting or callback/event handlers can be called for those requests at the same time?

By default, all requests for one file are handled sequentially (i.e. the next callback / event handler is called only after the previous one has been finished). …

Can we have a WHQL-certified version of the driver?

Possibilities to have a WHQL-certified version of the driver

How do I collect the log of file operations on the drive (for debugging)?

How to collect the log of file operations on the drive (for debugging)

I have deleted the file in the backend storage, exposed by CBFS Connect. How do I notify the system about this?

Notifying the system when deleting the file in the backend storage exposed by CBFS Connect

Where's CreationDisposition parameter and how do I distinguish between Open and Create operations?

Where to find the CreationDisposition parameter and how to distinguish between Open and Create operations

What is the sequence of callbacks called when Explorer opens the directory?

What is the sequence of callbacks called when Explorer opens the directory

I created a local mounting point with CBFS_SYMLINK_LOCAL | CBFS_SYMLINK_NETWORK combination of flags. Why is such disk visible via Network Neighborhood?

When the mounting point is created with CBFS_SYMLINK_NETWORK, it consists on two parts optional disk name (either drive letter, e.g. Z: or a mounting point) and …

Can I clear metadata cache?

You can clear the cache for a separate file / directory by using NotifyDirectoryChange() method. The cache for the disk in whole can be cleared by setting the Me…

Can I perform deletion of the backend data in OnCanFileBeDeleted callback / event handler?

OnCanFileBeDeleted can't be used to delete the data because Windows can use this callback just to check whether the file can be deleted (and not for actual delet…

Why throwing an exception from OnDeleteFile callback/event handler doesn’t prevent file deletion?

It's a correct behavior. Windows can delete a file or directory in two ways: The first way: The file is opened. "Delete on close" flag is set for the file (for d…

After the network mounting point with a share is created, Explorer can stop showing any SMB shares.

Problem If a network mounting point is created and the specified server name is the same as the computer name (which is used by the system for SMB shares), then …

Windows Search records an error message to the system log, when working on "NTFS" disk created with CBFS Connect.

When CBFS Connect name is set to NTFS, Windows starts to use some features specific to NTFS and not supported by CBFS Connect at the moment. In particular, this …

How do I get rid of Windows warning box when installing drivers?

Getting rid of Windows warning box when installing drivers

When SerializeCallback is false, do file operations for a file go into one thread?

All file operations for one file go into one thread (i.e. are serialized), but this thread is not always the same. The thread is picked from the worker thread po…

When I set "SectorSize" to 4096 and "StorageType" to "stDiskPnP", some applications can't work with such disk. Why?

In PnP mode the OS builds a stack of drivers on top of CBFS Connect virtual disk driver (the one that is presented in PnP mode). While this driver reports sector…

Why does the system become slow, if I perform lengthy operations in OnOpenFile, OnCreateFile or OnCloseFile?

CBFS Connect processes requests in several threads parallely. This lets you achieve optimal possible performance. However, the creation and closing of the files …

Why can't I share the folder of the created virtual drive?

The folder can be shared when the mounting point added is a global mounting point (see description of parameters of AddMountingPoint method). You can't share a f…

Why doesn't GetOriginatorProcessName return some process names?

If GetOriginatorProcessName() method returns false, check the error code using GetLastError() function from Windows API. If the buffer is too small, increase the…

Why the added mounting point is not visible in Explorer?

Explorer will update information about existing mount points only after it receives the WM_DEVICECHANGE message. This message is broadcast automatically by CBFS …

Why is timeout necessary?

Timeout mechanism was implemented to avoid possible deadlocks in the system, this because of possible complication in interaction between CBFS Connect, Windows, …

Is there a problem if timeout is disabled?

Usually there isn't. But because there can be some unexpected long waits in the callbacks you implemented and some influence from third-party system components a…

I get "The 'Virtual Storage Mount Notification' add-on from 'EldoS Corporation' is ready for use." message in Internet Explorer 9. What is that?

Getting the Virtual Storage Mount Notification add-on message in Internet Explorer

Initialize method throws a strange exception saying that the driver is not found. What

The exact exception message is: "A volume has been accessed for which a file system driver is required that has not yet been loaded". Please check that ProgramNa…

Do we need to install CBFS Connect after each restart of computer?

The installation is performed once and this is usually done in the application installer, not in the application itself.…

Why can't I create a directory or file whose name ends with dot (".")?

The reason why it is impossible to create a directory or file whose name ends with dot (".")?

Windows 10 started to support long file names. Can we?

CBFS Connect supports long file names since version 3. The problem with Windows is not that it doesn't support long file names before that patch (it actually doe…

Why does Explorer read files when I just browse the directory?

The reason why Explorer reads files when browsing the directory

Why is copying so slow when doing it to/from CBFS Connect drive in opposite to regular disk?

Why copying is slow when doing it to/from CBFS Connect drive in opposite to regular disk

I need to expose data stored in remote location. What sample(s) do I start with?

What samples to use when exposing stored data in remote location

Can we have asynchronous versions of callbacks / events?

Can we have asynchronous versions of callbacks/events

How to have a Recycle Bin on my virtual disk?

How to have a Recycle Bin on a virtual disk