Share via


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)

Vedi anche

MRxDevFcbXXXControlFile

MrxStart

RxStopMinirdr