Partager via


RxFinalizeVNetRoot, fonction (fcb.h)

RxFinalizeVNetRoot finalise la structure de V_NET_ROOT donnée. L’appelant doit disposer d’un verrou exclusif sur la table netname associée à l’objet de l’appareil.

Syntaxe

BOOLEAN RxFinalizeVNetRoot(
  [out] OUT PV_NET_ROOT ThisVNetRoot,
  [in]  IN BOOLEAN      RecursiveFinalize,
  [in]  IN BOOLEAN      ForceFinalize
);

Paramètres

[out] ThisVNetRoot

Pointeur vers la structure V_NET_ROOT à finaliser.

[in] RecursiveFinalize

Valeur indiquant si la finalisation doit être effectuée de manière récursive. Ce paramètre n’est pas utilisé actuellement.

[in] ForceFinalize

Valeur indiquant si la finalisation doit être forcée, quel que soit le nombre de références.

Si ForceFinalize est FALSE, le membre NodeReferenceCount de la structure V_NET_ROOT pointée par ThisVNetRoot doit être 1 pour que le V_NET_ROOT soit finalisé.

Valeur de retour

RxFinalizeVNetRoot retourne TRUE sur succès ou FAUX si la finalisation n’a pas eu lieu :

Remarques

La routine RxFinalizeVNetRoot n’est normalement pas appelée par les pilotes de mini-redirecteur réseau directement. RDBSS appelle cette routine en interne lorsque le nombre de références sur la V_NET_ROOT est décrémenté à 1.

rxFinalizeVNetRoot est également appelée par la routine RxFinalizeConnection si le paramètre level à RxFinalizeConnection est défini sur TRUE. RxFinalizeConnection est normalement appelée par un pilote de mini-redirecteur réseau en réponse à la réception d’une demande IOCTL personnalisée à partir du mode utilisateur. Par exemple, un utilisateur peut exécuter à partir de la ligne de commande un « NET USE x : /d » pour supprimer un partage. Cette requête est mappée via la DLL du fournisseur de réseau fournie par le mini-redirecteur réseau à une requête IOCTL personnalisée envoyée au pilote du noyau de mini-redirecteur réseau qui appellerait la routine RxFinalizeConnection pour supprimer la connexion et toutes les structures de V_NET_ROOT associées.

rxFinalizeVNetRoot est également appelée par la routine RxForceFinalizeAllVNetRoots pour finaliser chaque V_NET_ROOT associée à une structure NET_ROOT.

Avant d’appeler RxFinalizeVNetRoot, un verrou sur la table netname associée à l’objet d’appareil doit être acquis en mode exclusif.

Si le UpperFinalization membre de l’V_NET_ROOT est 0, RxFinalizeVNetRoot itérera toutes les bases de données qui appartiennent aux NET_ROOT associées à cette V_NET_ROOT et orpheline toutes les structures SRV_OPEN associées au V_NET_ROOT.

RxFinalizeVNetRoot appelle la routine MRxFinalizeVNetRoot fournie par le mini-redirecteur réseau pour finaliser la V_NET_ROOT avant la publication de la mémoire de la structure V_NET_ROOT.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête fcb.h (include Mrxfcb.h, Fcb.h)
IRQL <= APC_LEVEL

Voir aussi

MRxFinalizeVNetRoot

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

La structure V_NET_ROOT