Funzione RxStopMinirdr (mrx.h)
RxStopMinirdr viene chiamato per arrestare un mini-redirector di rete avviato in precedenza. Come parte di RxStopMinirdr, RDBSS deregistrerà anche il driver mini-redirector di rete come provider UNC (Universal Naming Convention) con il provider MULTIPLE UNC (MUP) se il driver indica il supporto per i nomi UNC.
Sintassi
NTSTATUS RxStopMinirdr(
[in] IN PRX_CONTEXT RxContext,
[out] OUT PBOOLEAN PostToFsp
);
Parametri
[in] RxContext
Puntatore alla struttura RX_CONTEXT da usare per ottenere l'oggetto dispositivo e determinare se si tratta di un processo di file system.
[out] PostToFsp
Puntatore a un valore logico impostato su TRUE in caso di restituzione se la richiesta deve essere inserita per un'elaborazione successiva da parte del processo del file system.
Valore restituito
RxStopMinirdr restituisce STATUS_SUCCESS se la sequenza di arresto ha avuto esito positivo o uno dei valori di errore seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_PENDING | La sequenza di arresto per RDBSS e mini-redirector di rete deve essere completata nel contesto del processo del file system. Se la chiamata a RxStopMinirdr proviene da un processo diverso (una richiesta in modalità utente, ad esempio), la richiesta verrà pubblicata per un'elaborazione successiva e STATUS_PENDING verrà restituita. Questo errore può essere restituito anche se non è possibile acquisire determinati blocchi RDBSS interni senza attendere. |
STATUS_REDIRECTOR_HAS_OPEN_HANDLES | Il mini-redirector di rete dispone di handle aperti e non può essere arrestato in questo momento. |
STATUS_REDIRECTOR_STOPPED | Il mini-reindirizzamento di rete è già stato arrestato. |
Osservazioni
Quando viene inviata una richiesta di arresto a RDBSS, potrebbero essere presenti richieste in corso in RDBSS. Alcune richieste possono essere annullate mentre le richieste rimanenti devono essere elaborate fino al completamento.
Esistono diverse strategie che possono essere utilizzate per chiudere rdbss. Attualmente, viene utilizzato l'approccio più conservativo. Annullamento di tali operazioni che possono essere annullate e l'operazione di arresto viene mantenuta fino al completamento delle richieste rimanenti.
Il servizio RDBSS RxStopMinirdr viene in genere chiamato come risultato di una richiestaFSTL o IOCTL da un'applicazione o un servizio in modalità utente per arrestare il mini-reindirizzamento di rete, anche se questa chiamata può essere effettuata anche dal mini-redirector di rete o come parte dell'elaborazione dell'arresto da parte del sistema operativo.
Dopo l'emissione di una chiamata a RxStopMinirdr, le uniche operazioni consentite da RDBSS e passate al mini-redirector di rete sono richieste per i pacchetti di richiesta di I/O seguenti:
- IRP_MJ_CLEANUP
- IRP_MJ_CLOSE
La sequenza di arresto per RDBSS e il mini-reindirizzamento di rete devono essere completate nel contesto del processo del file system. Se la chiamata a RxStopMinirdr proviene da un processo diverso (una richiesta in modalità utente, ad esempio), la richiesta deve essere registrata per un'elaborazione successiva e STATUS_PENDING verrà restituita. In questo caso, l'ID utente effettivo (ID di accesso) del chiamante viene salvato nel membro
Se un mini-redirector di rete indica il supporto per UNC durante la registrazione con RDBSS (il parametro controls
La routine RxStopMinirdr
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione |
mrx.h (include Mrx.h) |
IRQL | <= APC_LEVEL |