对 SMB (1.0) 和 Mapped I/O 如何协同工作感到困惑

Confused on how SMB (1.0) and Mapped I/O work together

我正在尝试获取有关映射 I/O 和 SMB(1)-Share 的更多详细信息。

我发现了一个场景,其中从网络共享启动的应用程序抛出页内错误 (0xc0000006),状态代码为 0xc000020c (STATUS_CONNECTION_DISCONNECTED)。

奇怪的是,即使连接最终断开了,此刻它还在工作。

让它再次工作的唯一方法是关闭每个正在使用 dll 的进程并清除备用列表。

在 SMB 上进行映射 I/O 时,似乎没有有效的 "reconnect" 实现,还是我弄错了什么?

如果有人能告诉我一些关于这些东西如何深入工作的信息,那就太好了

据我所知,SMBv1 没有 "reconnect"。 如果您想继续处理您已经打开的文件列表,重新连接后您需要再次重新打开它们(在应用程序级别)。 可以重新建立连接,但服务器中的所有文件句柄都消失了。

重新连接功能从 SMBv2 开始实现。