Estructura de V_NET_ROOT
La estructura de V_NET_ROOT proporciona un mecanismo para asignar 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 del 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 unidad local 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 al 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 de V_NET_ROOT tiene algunos elementos comunes con otras estructuras RDBSS, junto con elementos que son únicos para 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 al nombre que ve el usuario (esto es para simular una estructura de NET_ROOT que no está asignada en la raíz de la estructura de NET_ROOT real).
La finalización de una estructura de V_NET_ROOT consta de dos partes:
Destruir la asociación con todas las estructuras SRV_OPEN
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.