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