3

我想知道 Windows 资源管理器从哪里得到它的错误消息。我的情况非常具体,因为我使用的是自定义 WebDAV 实现,但我认为这个问题可以更广泛地应用(任何映射驱动器)。

所以假设我有一个映射到我的 WebDAV 共享的驱动器。我在 Windows 资源管理器中打开映射驱动器窗口,然后从那里尝试创建一个新文件夹。现在在我的自定义 WebDAV 实现中,我正在寻找MKCOL创建文件夹的 WebDAV 动词,在这种情况下,我想阻止创建文件夹。所以我返回一个 400 (Bad Request) 作为 HTTP 响应。

问题是,现在无论我如何处理,Windows 资源管理器都会弹出一条错误消息,上面写着:

文件过大。文件“<%1 NULL:NameDest>”对于目标文件系统来说太大了。

请求尝试创建文件夹时哪个文件太大?

我想弄清楚的是 Windows 资源管理器从哪里得到的?我可以看到我如何使用 Fiddler 处理响应的所有详细信息(例如,我可以在 400 响应中返回自定义异常详细信息),那么它如何将我的 400 连接到我上面收到的消息?有什么方法可以格式化 HTTP 响应,以便 Windows 资源管理器获取我提供的详细信息并在错误消息中使用它们?

4

2 回答 2

3

Explorer 将ERROR_INVALID_PARAMETER其视为“文件太大”,因为这就是某些文件系统报告该错误情况的方式。

于 2012-12-07T16:11:25.343 回答
-1

请以管理员权限 [1] 启动命令提示符 (cmd.exe) 并运行 sfc [2]:

sfc.exe /scannow

于 2013-06-28T08:19:42.347 回答