microsoft / ProjFS-Managed-API

A managed-code API for the Windows Projected File System
Other
142 stars 34 forks source link

After closing SimpleProviderManager artifacts are left behind in the virtual root #60

Closed jhv2017kam closed 3 years ago

jhv2017kam commented 3 years ago

After closing SimpleProviderManager the virtual root still contains the file names that was previously provided these names even survive a restart

content can still be read, still visible in windows explorer and by cmd dir but attempt to modify with notepad++ you get an error and afterward they are gone

cgallred commented 3 years ago

That is expected behavior. The first time you create a handle to a projected file, a placeholder for the file is created on your disk. The first time you read from the file, its contents are written to disk. So stopping the provider application will leave behind those files and their contents. ProjFS prevents modifications to files that haven't previously been written to if the provider is not running, and for certain scenarios will remove them from the disk.

See this documentation on how data is projected, and this page on cache state in the virtualization root.