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 |