我正在使用 Cloud Files API 创建一个虚拟文件系统。我正在尝试对文件夹实施重命名/移动和删除操作。具有覆盖方案的重命名文件夹(当目标文件夹存在时)行为令人困惑。在 Windows 探索中,我试图将 Z:\Folder1 重命名为 Z:\Folder2 而 Z:\Folder2 已经存在。在执行重命名操作之前,正在通过调用 CF_CALLBACK_TYPE_NOTIFY_DELETE 回调删除源文件夹。
这是我使用 Cloud Filter API 获得的回调序列:
- 在源文件夹上调用 CF_CALLBACK_TYPE_NOTIFY_DELETE。
- 源文件夹中的每个文件都被移动到目标文件夹。
- 在源文件夹上调用 CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION。
因此,无法在 CF_CALLBACK_TYPE_NOTIFY_DELETE 回调中删除我存储中的文件夹,因为这将在移动操作之前删除所有文件。也没有办法区分 CF_CALLBACK_TYPE_NOTIFY_DELETE 中的删除和移动操作(所以我可以在移动操作中忽略它)。
如何在 Cloud Files API 中正确实现删除和重命名/移动回调?