在Dokan FileSystem

时间:2018-04-19 13:21:15

标签: c# dokan

我正在尝试使用Dokan的C#版本制作虚拟文件系统 我现在想要做的是为我的文件系统设置文件的最大限制,例如,文件系统不能有超过2GB的文件。

目前我在Operation SetEndOfFile上执行此操作,但我只能给出DiskFull错误,我想返回类似NTStatus.FileTooLarge的内容,但是当我这样做时,文件系统只是忽略该返回。

有什么选择可以做我想要的吗?

1 个答案:

答案 0 :(得分:1)

您可以检查WriteFile函数的偏移量,如果偏移量大于2GB,则返回NtStatus.FileTooLarge

另外,你应该检查buffer.Length,如果你在磁盘上编辑文件 - 它不会将它切成较小的缓冲区块,而是将整个文件放入一个缓冲区。在这种情况下,您应该找到一种不破坏文件的方法,因为CleanUp将在NtStatus.FileTooLarge方法返回WriteFile并且info.DeleteOnClose设置为true后立即调用new HtmlWebpackPlugin({ "template": "./src/index.html", "filename": "../templates/main/index.html", ... })