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) |