Windows资源管理器错误信息?

3
我想知道Windows资源管理器的错误信息是从哪里获取的。我的情况相当特殊,因为我正在使用自定义的WebDAV实现,但是我认为这个问题可能适用于更广泛的应用(任何映射驱动器)。
假设我已经映射了一个到我的WebDAV共享的驱动器。我在Windows资源管理器中打开映射的驱动器窗口,然后尝试创建一个新文件夹。现在,在我的自定义WebDAV实现中,我正在查找创建文件夹的MKCOL WebDAV动词,并且在这种情况下,我想阻止创建文件夹。所以我返回一个400(错误请求)作为HTTP响应。
问题是,无论我如何处理它,Windows资源管理器都会弹出一个错误消息,其中显示:

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

当请求试图创建一个文件夹时,哪个文件太大了?

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

好的。为什么你返回这样不具体的东西?为什么是400? - Julian Reschke
400只是一个例子。我只是好奇Windows资源管理器如何确定要显示什么错误消息。我有一个自定义的WebDAV实现,如果出现问题,从Windows资源管理器弹出自定义错误消息会很不错。 - lhan
我曾经遇到过同样的问题。我发现501回复(未实现)似乎在Windows资源管理器中创建了最合适的错误消息。不过,可选项非常糟糕。 - cl0rkster
2个回答

3

由于某些文件系统报告此错误条件,因此Explorer将ERROR_INVALID_PARAMETER视为“文件过大”。


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

这个问题涉及到一个WebDAV实现中故意抛出的错误,以及如何修改用户看到的错误消息。文件系统没有问题。 - cl0rkster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接