V_NET_ROOT 结构

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

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

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

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

RDBSS 为每个NET_ROOT维护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结构中的字段可防止复制第一步。