通过一个网络打开 //Myserver/Myshare/Sample.mp3,各组件的通信情况

来源:互联网 发布:逻辑思维 知乎 编辑:程序博客网 时间:2024/05/17 06:04

1)  使用 CreateFile这个 API函数,应用程序向本地操作系统提交一个请求,要求打开//Myserver/Myshare/Sample.mp3
2)  根据从 UNC路径描述中获得的信息,本地(本机)操作系统的文件系统判断出该 I/O(输入/输出)请求的目的地是一台远程机器,名为 //Myserver,所以将此请求传递给 MUP。
3) MUP调查出该I/O请求发给的是一个 MSNP提供者,因为网上的 //Myserver机器正在使用NetBIOS名字解析机制。
4) I/O请求随即传给MSNP提供者的重定向器。
5) 重定向器将此请求格式化成一条 SMB消息,要求打开包含在远程 /Myshare目录下的
Sample.mp3文件。
6) 格式化好的 SMB消息终于通过一种网络传送协议,正式送入网络。
7) 名为//Myserver的服务器从网上接收到这个 SMB请求,并将请求传给服务器的 MSNP重定向器服务器服务。
8) 服务器的重定向器服务提交一个本地 I/O请求,希望打开位于 /Myshare这个共享位置处的Sample.mp3文件。
9) 服务器的重定向器服务格式化好一条 SMB响应消息,指出本地打开文件的 I/O请求是成功,还是失败。
10) 通过一种网络传送协议,服务器的这条 SMB响应消息返回客户机。
11) MSNP重定向器收到服务器的这条 SMP响应消息,并向本机操作系统传递一个返回代码。
12) 本机操作系统再将该代码返回给当初应用程序的 CreateFile API请求。