Compartir a través de


Estructura de V_NET_ROOT

La estructura V_NET_ROOT proporciona un mecanismo para la asignación a un recurso compartido (por ejemplo, una asignación de unidad de usuario que apunta debajo de la raíz del punto de recurso compartido asociado). El nombre V_NET_ROOT puede tener uno de los siguientes formatos:

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

El formato del nombre depende de si hay un dispositivo local ("X:", por ejemplo) asociado a esta estructura de V_NET_ROOT. En el caso de una asignación de unidad local (d1\d2, por ejemplo), la asignación de unidades locales se prefijo en cada CreateFile que se abre en esta estructura de V_NET_ROOT.

V_NET_ROOT estructuras también se usan para proporcionar credenciales alternativas. El propósito de este tipo de estructura de V_NET_ROOT es propagar las credenciales alternativas a la NET_ROOT como valor predeterminado. Para que esto funcione, no debe haber otras referencias.

RDBSS mantiene una lista de las estructuras de V_NET_ROOT para cada NET_ROOT. Cada estructura V_NET_ROOT tiene algunos elementos comunes con otras estructuras RDBSS, junto con elementos que son exclusivos de una estructura de V_NET_ROOT. Las rutinas de RDBSS que administran V_NET_ROOT estructuras solo modifican los siguientes elementos:

  • Recuento de firmas y referencias

  • Puntero a la estructura y vínculos de NET_ROOT asociados

  • Información de nombre para la búsqueda de tablas (prefijo)

  • Nombre de un prefijo que se va a agregar a cualquier nombre que vea el usuario (esto es para simular una estructura de NET_ROOT que no está asignada en la raíz de la estructura NET_ROOT real).

La finalización de una estructura de V_NET_ROOT consta de dos partes:

  1. Destruir la asociación con todas las estructuras de SRV_OPEN

  2. Liberar la memoria

Puede haber un retraso entre estas dos acciones y un campo de la estructura V_NET_ROOT impide que se duplique el primer paso.