Partager via


Routine MRxStop

La routineMRxStop est appelée par RDBSS pour arrêter le mini-redirecteur réseau.

Syntaxe

PMRX_CALLDOWN_CTX MRxStop;

NTSTATUS MRxStop(
  _Inout_ PRX_CONTEXT          RxContext,
  _Inout_ PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{ ... }

Paramètres

RxContext [in, out]
Pointeur vers la structure RX_CONTEXT. Ce paramètre contient l’IRP qui a demandé l’arrêt du mini-redirecteur réseau.

RxDeviceObject [in, out]
Pointeur vers la structure RDBSS_DEVICE_OBJECT pour ce mini-redirecteur réseau.

Valeur retournée

MRxStop retourne STATUS_SUCCESS en cas de réussite ou une valeur NTSTATUS appropriée, par exemple :

Code de retour Description
STATUS_REDIRECTOR_HAS_OPEN_HANDLES

Le mini-redirecteur réseau a des descripteurs ouverts qui l’empêchent de s’arrêter pour l’instant.

STATUS_REDIRECTOR_NOT_STARTED

Le mini-redirecteur réseau n’a pas été démarré.

Remarques

MRxStop arrête et annule l’initialisation du mini-redirecteur réseau du point de vue de RDBSS. L’arrêt du mini-redirecteur réseau peut probablement nécessiter la libération d’allocations de mémoire et d’autres ressources système.

Avant d’appeler MRxStop, RDBSS modifie les valeurs suivantes :

Le membre MajorFunction dans la structure RX_CONTEXT pointée par RxContext est défini sur la fonction principale de l’IRP.

Le membre LowIoContext.ParamsFor.FsCtl.FsControlCode dans la structure RX_CONTEXT pointée par RxContext est défini sur le code FSCTL pour l’IRP s’il s’agissait d’une requête FSTCL utilisée pour arrêter le mini-redirecteur réseau.

Le membre StartStopContext.State de la structure RDBSS_DEVICE_OBJECT pointée par RxDeviceObject est défini sur RDBSS_STOP_IN_PROGRESS

Le membre StartStopContext.pStopContext de la structure RDBSS_DEVICE_OBJECT pointée par RxDeviceObject est défini sur le paramètre RxContext .

MRxStop est appelé par RDBSS à partir de la routine RxStopMinirdr .

Si MRxStop retourne STATUS_SUCCESS, la routine a réussi. Toute autre valeur de retour indique qu’une erreur s’est produite lors de l’arrêt du mini-redirecteur réseau.

Si MRxStop retourne STATUS_SUCCESS, RDBSS définit l’état de RDBSS sur RDBSS_STARTABLE. Cet état est stocké dans le membre StartStopContext.State de la structure RDBSS_DEVICE_OBJECT pointée par RxDeviceObject.

Un mini-redirecteur réseau conserve normalement une variable interne indiquant si le mini-redirecteur réseau est démarré. Par exemple, un mini-redirecteur réseau peut suivre quand il est arrêté, démarré et quand une opération de démarrage ou d’arrêt est en cours.

Configuration requise

Plateforme cible

Desktop (Expérience utilisateur)

En-tête

Mrx.h (inclure Mrx.h)

Voir aussi

MRxDevFcbXXXControlFile

MrxStart

RxStopMinirdr