RxFinalizeNetRoot, fonction (fcb.h)
RxFinalizeNetRoot finalise la structure de NET_ROOT donnée. L’appelant doit avoir un verrou exclusif sur la table netname associée à l’objet d’appareil.
Syntaxe
BOOLEAN RxFinalizeNetRoot(
[out] OUT PNET_ROOT ThisNetRoot,
[in] IN BOOLEAN RecursiveFinalize,
[in] IN BOOLEAN ForceFinalize
);
Paramètres
[out] ThisNetRoot
Pointeur vers la structure NET_ROOT à finaliser.
[in] RecursiveFinalize
Valeur indiquant si la finalisation doit être effectuée de manière récursive.
[in] ForceFinalize
Valeur indiquant si la finalisation doit être forcée, quel que soit le nombre de références.
Si ForceFinalize a la valeur FALSE, le membre NodeReferenceCount de la structure NET_ROOT pointée par ThisNetRoot doit avoir la valeur 1 pour que le NET_ROOT soit finalisé.
Valeur retournée
RxFinalizeNetRoot retourne TRUE en cas de réussite ou FALSE si la finalisation n’a pas eu lieu : si une finalisation de l’NET_ROOT est déjà en cours, RxFinalizeNetRoot renvoie FALSE.
Remarques
La routine RxFinalizeNetRoot n’est normalement pas appelée directement par les pilotes de mini-redirecteur réseau. RDBSS appelle cette routine en interne lorsque le nombre de références sur le NET_ROOT est décrémenté à 1.
Avant d’appeler RxFinalizeNetRoot, un verrou sur la table netname associée à l’objet d’appareil doit être acquis en mode exclusif.
Si le paramètre RecursiveFinalize a la valeur TRUE, RxFinalizeNetRoot vide toutes les structures FCB orphelines associées à ce NET_ROOT. Ces bases de données fcbs orphelines sont des structures où l’indicateur FCB_STATE_ORPHANED est activé pour le membre FcbState .
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | fcb.h (inclure Fcb.h, Mrxfcb.h) |
IRQL | <= APC_LEVEL |