PMRX_CALLDOWN_CTX fonction de rappel (mrx.h)

La routine MRxStart est appelée par RDBSS pour démarrer le mini-redirecteur réseau.

Syntaxe

PMRX_CALLDOWN_CTX PmrxCalldownCtx;

NTSTATUS PmrxCalldownCtx(
  [in, out] IN OUT PRX_CONTEXT RxContext,
  [in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}

Paramètres

[in, out] RxContext

Pointeur vers la structure RX_CONTEXT. Ce paramètre contient l’IRP qui a demandé le démarrage du mini-redirecteur réseau.

[in, out] RxDeviceObject

Pointeur vers la structure RDBSS_DEVICE_OBJECT pour ce mini-redirecteur réseau.

Valeur retournée

MRxStart retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée, par exemple :

Code de retour Description
STATUS_REDIRECTOR_STARTED Le mini-redirecteur réseau a déjà démarré.
STATUS_UNSUCCESSFUL Le mini-redirecteur réseau n’a pas pu démarrer correctement.

Remarques

MRxStart termine l’initialisation du mini-redirecteur réseau du point de vue RDBSS. Notez que cela est différent de l’initialisation effectuée dans la routine DriverEntry . Toute initialisation qui dépend de RDBSS doit être effectuée dans le cadre de cette routine, tandis que l’initialisation indépendante de RDBSS doit être effectuée dans la routine DriverEntry .

Avant d’appeler MRxStart, RDBSS modifie les membres suivants dans la structure RX_CONTEXT pointée par le paramètre RxContext :

Le membre MajorFunction est défini sur la fonction principale de l’IRP.

Le membre LowIoContext.ParamsFor.FsCtl.FsControlCode est défini sur le code FSCTL pour l’IRP s’il s’agit d’une requête FSTCL utilisée pour démarrer le mini-redirecteur réseau.

MRxStart est appelé par RDBSS à partir de la routine RxStartMinirdr . Avant d’appeler MRxStart, RDBSS inscrit RxDeviceObject du mini-redirecteur réseau en tant que système de fichiers. RDBSS inscrit également le mini-redirecteur réseau en tant que fournisseur UNC si le mini-redirecteur réseau indique la prise en charge des noms UNC.

Si MRxStart retourne STATUS_SUCCESS, la routine a réussi. Toute autre valeur de retour indique qu’une erreur s’est produite dans la séquence de démarrage.

Si MRxStart retourne STATUS_SUCCESS, RDBSS définit l’état de RDBSS sur RDBSS_STARTED. 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

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête mrx.h (inclure Mrx.h)

Voir aussi

MRxDevFcbXXXControlFile

MRxStop

RxStartMinirdr