Routine MRxStop
La routineMRxStop viene chiamata da RDBSS per arrestare il mini-reindirizzamento di rete.
Sintassi
PMRX_CALLDOWN_CTX MRxStop;
NTSTATUS MRxStop(
_Inout_ PRX_CONTEXT RxContext,
_Inout_ PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{ ... }
Parametri
RxContext [in, out]
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che ha richiesto l'arresto del mini redirector di rete.
RxDeviceObject [in, out]
Puntatore alla struttura RDBSS_DEVICE_OBJECT per questo mini-reindirizzamento di rete.
Valore restituito
MRxStop restituisce STATUS_SUCCESS in caso di esito positivo o di un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_REDIRECTOR_HAS_OPEN_HANDLES | Il mini-redirector di rete dispone di handle aperti che impediscono l'arresto in questo momento. |
STATUS_REDIRECTOR_NOT_STARTED | Il mini-reindirizzamento di rete non è stato avviato. |
Commenti
MRxStop arresta e annulla l'inizializzazione del mini redirector di rete dal punto di vista RDBSS. L'arresto del mini-reindirizzamento di rete potrebbe richiedere probabilmente il rilascio di allocazioni di memoria e altre risorse di sistema.
Prima di chiamare MRxStop, RDBSS modifica i valori seguenti:
Il membro MajorFunction nella struttura RX_CONTEXT a cui punta RxContext è impostato sulla funzione principale di IRP.
Il membro LowIoContext.ParamsFor.FsCtl.FsControlCode nella struttura RX_CONTEXT a cui punta RxContext è impostato sul codice MDFTL per l'IRP se si tratta di una richiesta FSTCL usata per arrestare il mini-redirector di rete.
Il membro StartStopContext.State della struttura RDBSS_DEVICE_OBJECT a cui punta RxDeviceObject è impostato su RDBSS_STOP_IN_PROGRESS
Il membro StartStopContext.pStopContext della struttura RDBSS_DEVICE_OBJECT a cui punta RxDeviceObject è impostato sul parametro RxContext .
MRxStop viene chiamato da RDBSS dalla routine RxStopMinirdr .
Se MRxStop restituisce STATUS_SUCCESS, la routine ha avuto esito positivo. Qualsiasi altro valore restituito indica che si è verificato un errore durante l'arresto del mini-redirector di rete.
Se MRxStop restituisce STATUS_SUCCESS, RDBSS imposta lo stato di RDBSS su RDBSS_STARTABLE. Questo stato viene archiviato nel membro StartStopContext.State della struttura RDBSS_DEVICE_OBJECT a cui punta RxDeviceObject.
Un mini-redirector di rete normalmente mantenerebbe una variabile interna che indica se viene avviato il mini-reindirizzamento di rete. Ad esempio, un mini-reindirizzamento di rete potrebbe tenere traccia di quando viene arrestato, avviato e quando è in corso un'operazione di avvio o arresto.
Requisiti
Piattaforma di destinazione |
Desktop |
Intestazione |
Mrx.h (include Mrx.h) |