RxFinalizeSrvCall, fonction (fcb.h)
RxFinalizeSrvCall finalise la structure de SRV_CALL donnée. L’appelant doit disposer d’un verrou exclusif sur la table netname associée à l’objet de l’appareil.
Syntaxe
BOOLEAN RxFinalizeSrvCall(
[out] OUT PSRV_CALL ThisSrvCall,
[in] IN BOOLEAN ForceFinalize
);
Paramètres
[out] ThisSrvCall
Pointeur vers la structure SRV_CALL à finaliser.
[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 SRV_CALL pointée par ThisSrvCall doit être 1 pour que le SRV_CALL soit finalisé.
Valeur de retour
RxFinalizeSrvCall retourne TRUE sur succès ou FALSE si la finalisation n’a pas eu lieu :
Remarques
La routine RxFinalizeSrvCall 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 SRV_CALL est décrémenté à 1. RDBSS appelle également RxFinalizeSrvCall lorsque le pilote de mini-redirecteur réseau est arrêté ou déchargé.
Avant d’appeler RxFinalizeSrvCall, un verrou sur la table netname associée à l’objet d’appareil doit être acquis en mode exclusif.
Si l’ID de processus en cours d’exécution est identique à l’ID de processus RDBSS, un thread de travail retardé sera distribué pour détruire la structure de SRV_CALL. Ce thread de travail appellera ultérieurement la routine MRxFinalizeSrvCall fournie par le mini-redirecteur réseau pour finaliser le SRV_CALL. Sinon, la routine MRxFinalizeSrvCall sera appelée directement pour finaliser le SRV_CALL.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | fcb.h (include Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |