UWP:是否可以创建自己的网络文件(类似于 Onedrive)?
UWP: Is it possible to create your own network files (similar to Onedrive)?
我正在查看 Determining availability of Microsoft OneDrive files 的文档,我想知道是否可以自己创建此类文件。换句话说,是否可以创建可由您的应用程序自动下载或同步的网络文件,或者此功能是否为 OneDrive 保留?
我自己找不到任何相关信息,我假设是后者,但我希望其他人可以就此主题提供更多见解。
自 Windows 10 Creators Update Microsoft 提供 Cloud Sync Engine / Cloud Filter API。它支持 OneDrive 具有的所有功能:下载(水合)、同步、离线模式和 Win 文件管理器中的命令。一些 API 可通过 .NET 获得,但大多数是 Win32 API。
以下是 GitHub 上的示例:
Cloud Filter API 提供多种模式,其中一些不适用于 OneDrive-like 磁盘。这里有一些通用原则,因此您无需测试和了解所有模式:
使用 StorageProviderSyncRootInfo with PopulationPolicy set to StorageProviderPopulationPolicy.Full 创建您的存储空间。然后,当应用程序尝试列出文件夹内容或读取文件内容时,将调用您的回调。
在第一个文件夹列表中,在 CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS 中创建占位符。完成初始文件夹列表后禁用 on-demand 填充。不要更新此回调中的占位符。它看起来像是专为初始占位符创建而设计的。
当服务器上的任何 file/folder 为 created/updated/deleted/moved/renamed 时,通过网络套接字或其他技术(推送)通知客户端并相应地更新客户端占位符。或者,您可以拉取服务器或实施其他同步算法。
我正在查看 Determining availability of Microsoft OneDrive files 的文档,我想知道是否可以自己创建此类文件。换句话说,是否可以创建可由您的应用程序自动下载或同步的网络文件,或者此功能是否为 OneDrive 保留?
我自己找不到任何相关信息,我假设是后者,但我希望其他人可以就此主题提供更多见解。
自 Windows 10 Creators Update Microsoft 提供 Cloud Sync Engine / Cloud Filter API。它支持 OneDrive 具有的所有功能:下载(水合)、同步、离线模式和 Win 文件管理器中的命令。一些 API 可通过 .NET 获得,但大多数是 Win32 API。
以下是 GitHub 上的示例:
Cloud Filter API 提供多种模式,其中一些不适用于 OneDrive-like 磁盘。这里有一些通用原则,因此您无需测试和了解所有模式:
使用 StorageProviderSyncRootInfo with PopulationPolicy set to StorageProviderPopulationPolicy.Full 创建您的存储空间。然后,当应用程序尝试列出文件夹内容或读取文件内容时,将调用您的回调。
在第一个文件夹列表中,在 CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS 中创建占位符。完成初始文件夹列表后禁用 on-demand 填充。不要更新此回调中的占位符。它看起来像是专为初始占位符创建而设计的。
当服务器上的任何 file/folder 为 created/updated/deleted/moved/renamed 时,通过网络套接字或其他技术(推送)通知客户端并相应地更新客户端占位符。或者,您可以拉取服务器或实施其他同步算法。