V_NET_ROOT结构

V_NET_ROOT结构提供了一种映射到共享的机制(例如,指向关联共享点根目录下的用户驱动器映射)。 V_NET_ROOT名称可以是以下格式之一:

\server\share\d1\d2
\;m:\server\share\d1\d2

名称的格式取决于是否存在与此V_NET_ROOT结构关联的本地设备(例如“X:”)。 例如,对于本地驱动器映射(例如 d1\d2),本地驱动器映射将作为前缀添加到在此V_NET_ROOT结构上打开的每个 CreateFile 上。

V_NET_ROOT结构还用于提供备用凭据。 这种V_NET_ROOT结构的目的是将备用凭据作为默认值传播到NET_ROOT。 若要执行此作,必须没有其他引用。

每个NET_ROOT的 RDBSS 维护V_NET_ROOT结构的列表。 每个V_NET_ROOT结构都有一些与其他 RDBSS 结构通用的元素,以及V_NET_ROOT结构特有的元素。 管理V_NET_ROOT结构的 RDBSS 例程仅修改以下元素:

  • 签名和引用计数

  • 指向关联NET_ROOT结构和链接的指针

  • 表查找的名称信息(前缀)

  • 要添加到用户看到的任何名称的前缀的名称(这是为了模拟未映射到实际NET_ROOT结构的根目录NET_ROOT结构)

V_NET_ROOT结构的最终化由两个部分组成:

  1. 销毁与所有SRV_OPEN结构的关联

  2. 释放内存

这两个作之间可能存在延迟,V_NET_ROOT结构中的字段可防止第一步重复。