Windows 10 version 1709 (or “Fall Creators
Update”) has introduced the “Files On-Demand” feature, only for NTFS physical
The first and most visible sample of this
is OneDrive, but the technology is not reserved to OneDrive.
Users can 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 3 files:
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 in this case) 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 Windows 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