The V_NET_ROOT Structure

La structure V_NET_ROOT fournit un mécanisme de mappage dans un partage (par exemple, un mappage de lecteur utilisateur qui pointe sous la racine du point de partage associé). Le nom V_NET_ROOT peut être dans l’un des formats suivants :

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

Le format du nom varie selon qu’un appareil local (« X : », par exemple) est associé à cette structure V_NET_ROOT. Dans le cas d’un mappage de lecteur local (d1\d2, par exemple), le mappage de lecteur local est préfixé sur chaque CreateFile ouvert sur cette structure V_NET_ROOT.

V_NET_ROOT structures sont également utilisées pour fournir d’autres informations d’identification. L’objectif de ce type de structure de V_NET_ROOT est de propager les autres informations d’identification dans le NET_ROOT comme valeur par défaut. Pour que cela fonctionne, il ne doit y avoir aucune autre référence.

Une liste des structures V_NET_ROOT est gérée par RDBSS pour chaque NET_ROOT. Chaque structure V_NET_ROOT a quelques éléments communs avec d’autres structures RDBSS, ainsi que des éléments propres à une structure V_NET_ROOT. Les routines RDBSS qui gèrent V_NET_ROOT structures modifient uniquement les éléments suivants :

  • Nombre de signatures et de références

  • Pointeur vers la structure et les liens de NET_ROOT associés

  • Informations de nom pour la recherche de table (préfixe)

  • Nom d’un préfixe à ajouter à tout nom que l’utilisateur voit (il s’agit de simuler une structure NET_ROOT qui n’est pas mappée à la racine de la structure NET_ROOT réelle)

La finalisation d’une structure V_NET_ROOT se compose de deux parties :

  1. Destruction de l’association avec toutes les structures SRV_OPEN

  2. Libérer de la mémoire

Il peut y avoir un délai entre ces deux actions, et un champ dans la structure V_NET_ROOT empêche la première étape d’être dupliquée.