UWP:是否可以创建自己的网络文件(类似于 Onedrive)?

met*_*kip 4 c# onedrive uwp

我正在查看确定 Microsoft OneDrive 文件的可用性的文档文档,我想知道是否可以自己创建此类文件。换句话说,是否可以创建可以由您的应用程序自动下载或同步的网络文件,或者此功能是为 OneDrive 保留的?

我自己找不到任何关于此的信息,我假设是后者,但我希望其他人能够提供有关此主题的更多见解。

Dim*_*rin 5

自 Windows 10 Creators Update 起,微软提供了Cloud Sync Engine / Cloud Filter API。它支持 OneDrive 具有的所有功能:下载(水合)、同步、离线模式和 Win 文件管理器中的命令。一些 API 可通过 .NET 获得,但大多数是 Win32 API。

以下是 GitHub 上的示例:

Cloud Filter API 提供了多种模式,其中一些模式不适用于类似 OneDrive 的磁盘。这里有一些一般原则,因此您不需要测试和理解所有模式:

  1. 使用StorageProviderSyncRootInfo创建存储,并将PopulationPolicy设置为StorageProviderPopulationPolicy.Full。然后,当应用程序尝试列出文件夹内容或读取文件内容时,将调用您的回调。

  2. 在第一个文件夹列表中,在CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS内创建占位符。初始文件夹列表完成后禁用按需填充。不要更新此回调内的占位符。看起来它只是为初始占位符创建而设计的。

  3. 当服务器上创建/更新/删除/移动/重命名任何文件/文件夹时,通过网络套接字或其他技术(推送)通知客户端并相应地更新客户端占位符。或者,您可以拉取服务器或实施其他同步算法。