Routine MRxLowIOSubmit[LOWIO_OP_FSCTL]

La routine MRxLowIOSubmit[LOWIO_OP_FSCTL] viene chiamata da RDBSS per richiedere che una mini-redirector di rete esegua una richiesta di controllo del file system nel file remoto.

Sintassi

PMRX_CALLDOWN MRxLowIOSubmit[LOWIO_OP_FSCTL];

NTSTATUS MRxLowIOSubmit[LOWIO_OP_FSCTL](
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Parametri

RxContext [in, out]
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che richiede l'operazione.

Valore restituito

MRxLowIOSubmit[LOWIO_OP_FSCTL] restituisce STATUS_SUCCESS in caso di esito positivo o di un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_CONNECTION_DISCONNECTED

La connessione è stata disconnessa.

STATUS_INSUFFICIENT_RESOURCES

Risorse insufficienti per completare la richiesta.

STATUS_INVALID_DEVICE_REQUEST

È stata specificata una richiesta di dispositivo non valida.

STATUS_INVALID_NETWORK_RESPONSE

È stata ricevuta una risposta non valida dal server remoto.

STATUS_INVALID_PARAMETER

È stato specificato un parametro non valido in RxContext.

STATUS_LINK_FAILED

Tentativo di riconnessione a un server remoto per completare la richiesta non riuscita.

STATUS_NOT_IMPLEMENTED

Questa routine non è implementata.

STATUS_NOT_SUPPORTED

IL VALORE DITL specificato non è supportato dal mini-redirector di rete.

STATUS_UNSUCCESSFUL

La chiamata non è riuscita.

Commenti

RDBSS chiama MRxLowIOSubmit[LOWIO_OP_FSCTL] in risposta alla ricezione di una richiesta di IRP_MJ_FILE_SYSTEM_CONTROL .

Prima di chiamare MRxLowIOSubmit[LOWIO_OP_FSCTL], RDBSS modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext :

Il membro LowIoContext.Operation è impostato su LOWIO_OP_FSCTL.

Il membro LowIoContext.ResourceThreadId è impostato sul thread del processo che ha avviato l'operazione in RDBSS.

Il membro LowIoContext.ParamsFor.FsCtl.FsControlCode è impostato sul codice di controllo PRINCIPALE DELTL.

Il membro LowIoContext.ParamsFor.FsCtl.MinorFunction è impostato sul codice di controllo secondario MAPPINGTL.

Il membro LowIoContext.ParamsFor.FsCtl.pInputBuffer è impostato sul buffer di input.

Il membro LowIoContext.ParamsFor.FsCtl.InputBufferLength è impostato sulla lunghezza del buffer di input.

Il membro LowIoContext.ParamsFor.FsCtl.pOutputBuffer è impostato sul buffer di output.

Il membro LowIoContext.ParamsFor.FsCtl.OutputBufferLength è impostato sulla lunghezza del buffer di output.

Le richieste DEL CODICE DI CONTROLLO DEL FILE SYSTEM gestite da un mini-redirector di rete possono essere classificate in una delle diverse categorie:

  • LS CHE vengono implementati e usati da RDBSS e dal mini redirector di rete

  • LETLS implementate e usate solo dal mini-redirector di rete

  • LETLS che non devono mai essere viste dal mini-redirector di rete. Questi STRUMENTI SONO destinati esclusivamente a un aiuto di debug.

Durante l'elaborazione della routine MRxLowIOSubmit[LOWIO_OP_FSCTL] , è garantito che il membro LowIoContext.ResourceThreadId di RX_CONTEXT indichi il thread del processo che ha avviato l'operazione in RDBSS. Il membro LowIoContext.ResourceThreadId di RX_CONTEXT può essere usato per rilasciare la risorsa di input per conto di un altro thread. Al termine di una routine asincrona, è possibile rilasciare la risorsa di input acquisita dal thread iniziale.

Requisiti

Piattaforma di destinazione

Desktop

Intestazione

Mrx.h (include Mrx.h)

Vedi anche

MRxLowIOSubmit[LOWIO_OP_EXCLUSIVELOCK]

MRxLowIOSubmit[LOWIO_OP_IOCTL]

MRxLowIOSubmit[LOWIO_OP_NOTIFY_CHANGE_DIRECTORY]

MRxLowIOSubmit[LOWIO_OP_READ]

MRxLowIOSubmit[LOWIO_OP_SHAREDLOCK]

MRxLowIOSubmit[LOWIO_OP_UNLOCK]

MRxLowIOSubmit[LOWIO_OP_UNLOCK_MULTIPLE]

MRxLowIOSubmit[LOWIO_OP_WRITE]