gpt4 book ai didi

winapi - 如何自动对 "cloud"文件 (OneDrive) 进行无、部分和全部水合以进行测试?

转载 作者:行者123 更新时间:2023-12-04 07:27:24 26 4
gpt4 key购买 nike

我想测试一些软件,并想让它在云文件方面表现良好。为了查看遍历文件夹层次结构时返回的信息,引入了 RtlIsPartialPlaceholder RtlIsCloudFilesPlaceholder 等引用函数。以上链接指向内核模式文档,但这些函数也存在于用户模式(ntdll.dll)中,它们的实现非常简单。
但是,为了测试所述软件,我必须能够以某种方式为 OneDrive 上的文件创建占位符的状态。
我可以使用哪些功能(注册的 COM 类也可以)来自动创建可重现的测试设置,我可以使用它:

  • 创建占位符
  • 仅部分水合占位符
  • 实现相同的目录和文件

  • PS: this question 是唯一一个远程连接到该主题的人,我可以在 SO 上找到它。

    最佳答案

    使用 Win32 API 可以透明地实现标准文件/目录操作(创建/读取/写入等)。这就是这项技术的全部意义所在。
    因此,您可以使用标准 Win32 API 创建占位符。
    如果您在“同步根”中创建文件或目录(如 OneDrive 案例中的 OneDrive 文件夹层次结构),则关联的同步引擎进程(如 OneDrive.exe)将确保文件或目录是占位符。而且你不能在同步根层次结构之外创建占位符,AFAIK。
    对于文件(您不能对目录进行水合或脱水),读/写对应于水合。请注意,即使最终用户 API(应用程序)只询问了一些字节,一些同步引擎(和/或取决于它们的配置)也可以决定始终完全混合文件。
    虽然有一些特定的 Win32 API 用于特殊操作。
    您可以使用 CfDehydratePlaceholder 对文件进行脱水。 .您可以对文件进行水合 CfHydratePlaceholder .对于所有 Cloud Filter API,在创建目录句柄时,不要忘记使用 FILE_FLAG_BACKUP_SEMANTICS 标志。

    关于winapi - 如何自动对 "cloud"文件 (OneDrive) 进行无、部分和全部水合以进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68137435/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com