Fonction RxFinalizeConnection (rxprocs.h)
RxFinalizeConnection supprime une connexion à un partage. Tous les fichiers ouverts sur la connexion sont fermés en fonction du niveau de force spécifié. Le mini-redirecteur réseau peut choisir de conserver la connexion de transport ouverte pour des raisons de performances, sauf si une option est spécifiée pour forcer une fermeture de connexion.
Syntaxe
NTSTATUS RxFinalizeConnection(
IN OUT PNET_ROOT NetRoot,
IN OUT PV_NET_ROOT VNetRoot,
IN LOGICAL ForceFilesClosed
);
Paramètres
NetRoot
[in, out] Pointeur vers la structure NET_ROOT en cours de finalisation.
VNetRoot
Pointeur vers la structure V_NET_ROOT en cours de finalisation.
ForceFilesClosed
Indicateur qui contrôle le comportement de la routine RxFinalizeConnection. L’indicateur peut être l’une des valeurs suivantes :
- TRUE
- FALSE
- 0xff
RxFinalizeConnection réussit, même si les fichiers orphelins et les requêtes IRP_MN_NOTIFY_CHANGE_DIRECTORY sont ouverts. L’option force ces fichiers orphelins fermés.
RxFinalizeConnection échoue si des fichiers ou des notifications de modification sont ouverts.
RxFinalizeConnection supprime la référence supplémentaire sur la structure de V_NET_ROOT en raison de la demande d’ajout de connexion, mais agit autrement comme FAUX. RxFinalizeConnection échoue si des fichiers ou des notifications de modification sont ouverts.
Valeur de retour
RxFinalizeConnection retourne STATUS_SUCCESS en cas de réussite ou l’un des codes d’erreur suivants en cas d’échec :
Retourner le code | Description |
---|---|
|
Le Flags membre de la structure de RX_CONTEXT indique que l’IRP a été annulé. |
|
La connexion est toujours en cours d’utilisation. |
|
Le fichier a été ouvert, de sorte que la connexion à distance ne doit pas être supprimée. |
|
Verrou exclusif sur l’associé |
Remarques
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 du mini-redirecteur réseau qui appellerait la routine RxFinalizeConnection pour supprimer la connexion.
RxFinalizeConnection annule toutes les demandes en attente d’une structure de V_NET_ROOT donnée. Ces structures V_NET_ROOT sont créées et supprimées indépendamment des fichiers ouverts et manipulés. Par conséquent, lorsqu’une opération de suppression est tentée, toutes les demandes en attente sont annulées.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | rxprocs.h (include Rxprocs.h) |
IRQL | <= APC_LEVEL |