PMRX_CALLDOWN_CTX funzione di callback (mrx.h)
La routine MRxStart viene chiamata da RDBSS per avviare il mini-reindirizzamento di rete.
Sintassi
PMRX_CALLDOWN_CTX PmrxCalldownCtx;
NTSTATUS PmrxCalldownCtx(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}
Parametri
[in, out] RxContext
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che ha richiesto l'avvio del mini-reindirizzamento di rete.
[in, out] RxDeviceObject
Puntatore alla struttura RDBSS_DEVICE_OBJECT per questo mini-reindirizzamento di rete.
Valore restituito
MRxStart restituisce STATUS_SUCCESS in caso di esito positivo o di un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_REDIRECTOR_STARTED | Il mini-reindirizzamento della rete è già stato avviato. |
STATUS_UNSUCCESSFUL | Il mini-reindirizzamento di rete non è stato in grado di avviare correttamente. |
Commenti
MRxStart completa l'inizializzazione del mini-reindirizzamento di rete dal punto di vista RDBSS. Si noti che questa operazione è diversa dall'inizializzazione eseguita nella routine DriverEntry . Qualsiasi inizializzazione che dipende da RDBSS deve essere eseguita come parte di questa routine mentre l'inizializzazione indipendente da RDBSS deve essere eseguita nella routine DriverEntry .
Prima di chiamare MRxStart, RDBSS modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext :
Il membro MajorFunction è impostato sulla funzione principale dell'IRP.
Il membro LowIoContext.ParamsFor.FsCtl.FsControlCode è impostato sul codice FSCTL per l'IRP se si tratta di una richiesta FSTCL usata per avviare il mini-reindirizzamento di rete.
MRxStart viene chiamato da RDBSS dalla routine RxStartMinirdr . Prima di chiamare MRxStart, RDBSS registra RxDeviceObject del mini-redirector di rete come file system. RDBSS registrerà anche il mini-reindirizzamento di rete come provider UNC se il mini-reindirizzamento di rete indica il supporto per i nomi UNC.
Se MRxStart restituisce STATUS_SUCCESS, la routine è riuscita. Qualsiasi altro valore restituito indica che si è verificato un errore nella sequenza di avvio.
Se MRxStart restituisce STATUS_SUCCESS, RDBSS imposta lo stato di RDBSS su RDBSS_STARTED. Questo stato viene archiviato nel membro StartStopContext.State della struttura RDBSS_DEVICE_OBJECT a cui punta RxDeviceObject.
Un mini-reindirizzamento di rete normalmente mantiene 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 un'operazione di avvio o arresto è in corso.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | mrx.h (include Mrx.h) |