Partager via


Routine MRxDevFcbXXXControlFile

La routine MRxDevFcbXXXControlFile est appelée par RDBSS pour transmettre une demande de contrôle FCB d’appareil (requête IOCTL ou FSCTL) au mini-redirecteur réseau.

Syntaxe

PMRX_CALLDOWN MRxDevFcbXXXControlFile;

NTSTATUS MRxDevFcbXXXControlFile(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Paramètres

RxContext [in, out]
Pointeur vers la structure RX_CONTEXT. Ce paramètre contient l’IRP qui demande l’opération.

Valeur retournée

MRxDevFcbXXXControlFile retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée, telle que l’une des suivantes :

Code de retour Description
STATUS_ACCESS_DENIED

Une demande d’arrêt ou de démarrage du mini-redirecteur réseau a été effectuée, mais l’appelant n’avait pas la sécurité appropriée pour cette opération.

STATUS_INVALID_DEVICE_REQUEST

Une demande d’appareil non valide a été envoyée au mini-redirecteur réseau.

STATUS_REDIRECTOR_HAS_OPEN_HANDLES

Il s’agissait d’une demande d’arrêt du mini-redirecteur réseau, mais le redirecteur a des handles ouverts qui l’empêchent de s’arrêter pour l’instant.

STATUS_REDIRECTOR_NOT_STARTED

Il s’agissait d’une demande d’arrêt du mini-redirecteur réseau, mais le redirecteur n’a pas été démarré.

STATUS_REDIRECTOR_STARTED

Il s’agissait d’une demande de démarrage du mini-redirecteur réseau, mais le redirecteur était déjà démarré.

Remarques

MRxDevFcbXXXControlFile gère les requêtes IOCTL et FSCTL liées à l’appareil FCB qui sont envoyées au mini-redirecteur réseau.

Avant d’appeler MRxDevFcbXXXControlFile, RDBSS modifie le membre suivant dans la structure RX_CONTEXT pointée par le paramètre RxContext :

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

S’il s’agit d’une requête IRP_MJ_FILE_SYSTEM_CONTROL, RDBSS modifie les membres suivants dans la structure RX_CONTEXT pointée par le paramètre RxContext :

LowIoContext.ParamsFor.FsCtl.MinorFunction est défini sur le code de fonction mineure pour le code FSCTL

LowIoContext.ParamsFor.FsCtl.FsControlCode est défini sur le code FSCTL pour l’IRP

S’il s’agit d’une requête IRP_MJ_DEVICE_CONTROL ou IRP_MJ_INTERNAL_DEVICE_CONTROL, RDBSS modifie le membre suivant dans la structure RX_CONTEXT vers laquelle pointe le paramètre RxContext :

LowIoContext.ParamsFor.FsCtl.FsControlCode est défini sur le code de contrôle pour l’IRP.

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

Configuration requise

Plateforme cible

Desktop (Expérience utilisateur)

En-tête

Mrx.h (inclure Mrx.h)

Voir aussi

MRxStart

MRxStop