Windows 10 version 1709 (or “Fall Creators
Update”) has introduced the “Files On-Demand” feature, only for NTFS physical
drives. It allows users to see all their files stored on OneDrive from within
the Windows Explorer, without having to first download these files. On this
screenshot we can see an Image folder (note it’s a physical path) that contains
The Status column is added automatically by
the Windows Shell because it knows this folder is special (in fact, it’s the
OneDrive root folder which is marked as a “sync root”). This column displays an
icon that correspond to the sync state of the Shell Item. This icon column
exists for items and folders. When the item is selected we can also see its
status as a text “Available when online” here. For folder items, the meaning is
different, it represents the combined state of child items.
The first two files are in sync, they exist
locally. The third “small.mp4” file exists on the Internet (represented by a
“cloud” icon) but is not present locally.
In fact, what happens is there is a
“small.mp4” file that exists physically in the folder. You can even see it
using a Windows command line “dir” command. But this file is just a
“placeholder”. It has the correct dates and size, but it’s content does not exist
physically on the hard drive. It will be downloaded as soon as any application
will try to read it. In this case, Windows will ask the sync provider
(OneDrive) for the file’s content. If OneDrive doesn’t run at that time,
Windows will display an error message.
Although this technology is not strictly
related to Shell Namespace Extension development (in fact, it’s not even
related to the Shell, it operates at a lower level), ShellBoost provides some exclusive
support for it, in combination with Shell Namespace Extension development, through
the OnDemandSynchronizer class.
This feature is demonstrated in the AmalgaDrive