IOCTL_MOUNTMGR_CHANGE_NOTIFY IOCTL (mountmgr.h)
I client inviano questo IOCTL al gestore di montaggio per essere informati ogni volta che viene apportata una modifica al database del nome di collegamento simbolico permanente del gestore di montaggio.
Il gestore di montaggio gestisce un contatore denominato EpicNumber che registra il numero di modifiche apportate nel database del nome permanente dall'ultima avvio. I client inviano un numero al gestore di montaggio con ogni richiesta di notifica delle modifiche E il gestore di montaggio risponde nel modo seguente:
- Se il numero fornito dal client non è uguale a EpicNumber, il gestore di montaggio restituisce STATUS_SUCCESS, a indicare che le modifiche sono state apportate dall'ultimo confronto tra il numero del client e EpicNumber del gestore di montaggio.
- Se il numero fornito dal client è uguale a EpicNumber, il gestore di montaggio lo interpreta come richiesta di essere informato della modifica successiva al database del nome permanente e accoda l'IRP di notifica delle modifiche e restituisce STATUS_PENDING. Ogni volta che si verifica una modifica nel database, il gestore di montaggio completa tutti i provider di integrazione di notifica delle modifiche in sospeso, informando in tal modo i client della modifica.
Codice principale
Buffer di input
Il client di gestione montaggio inizializza la struttura MOUNTMGR_CHANGE_NOTIFY_INFO, definita in Mountmgr.h, all'inizio del buffer in Irp-AssociatedIrp.SystemBuffer>.
Lunghezza del buffer di input
Parameters.DeviceIoControl.InputBufferLength nella posizione dello stack I/O di IRP indica le dimensioni, in byte, del buffer di input, che devono essere maggiori o uguali a sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO).
Buffer di output
Il gestore di montaggio restituisce l'oggetto EpicNumber corrente nella struttura MOUNTMGR_CHANGE_NOTIFY_INFO, definito in Mountmgr.h, all'inizio del buffer in Irp-AssociatedIrp.SystemBuffer>.
Blocco dello stato
Se l'operazione ha esito positivo, il campo Stato viene impostato su STATUS_SUCCESS e il campo Informazioni è impostato su sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO).
Se InputBufferLength è minore di sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO) o OutputBufferLength è minore di sizeof(MOUNTMGR_CHANGE_NOTIFY_INFO), il campo Status viene impostato su STATUS_INVALID_PARAMETER.
Requisiti
Requisito | Valore |
---|---|
Intestazione | mountmgr.h (include Mountmgr.h) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per