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 en dessous de la racine du point de partage associé). Le nom V_NET_ROOT peut se trouver dans l’un des formats suivants :

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

Le format du nom varie selon qu’il existe un appareil local (« X : », par exemple) 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 d’une structure V_NET_ROOT est de propager les informations d’identification alternatives dans l’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 conservée par RDBSS pour chaque NET_ROOT. Chaque structure V_NET_ROOT comporte quelques éléments communs avec d’autres structures RDBSS, ainsi que des éléments uniques à 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 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 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.