在此论坛中,我不知道这是否是一个有效的问题,但是无论如何,我只会在这里提问。共享网络驱动器中存在一些文件,如果我想打开它们,那么Windows如何打开文件?在本地打开文件需要采取什么步骤?它会创建一个临时文件吗?我想知道Windows在这些情况下的内部工作方式。如果共享任何阅读材料,将会很有帮助。
答案 0 :(得分:0)
当您访问UNC路径或映射的驱动器号上的文件时,Windows不会创建本地临时文件。
假设我们正在谈论SMB / CIFS样式共享,则当内核收到UNC路径/句柄时,请求将转发到MUP(多个UNC Provider),后者将其移交给正确的MPR /重定向器。然后,该请求通过网络发送到另一台计算机。 SMB / CIFS是当今最常用的协议,它是documented here。通过该协议,您可以执行与在本地卷上执行的功能相似的功能,但操作是在远程计算机上执行的。
shell / Explorer还支持名称空间扩展,这些扩展名映射到网络位置(FTP,WebDAV,蓝牙等),但是这些扩展名通常不会直接向应用程序公开文件。他们可能将文件内容公开为IStream
,但大多数应用程序无法处理。在这些情况下,需要文件的本地副本。这些实现完全处于用户模式,并且与Windows API中的低级文件功能不兼容。