IRP_MJ_SET_VOLUME_INFORMATION (fs e driver di filtro)
Data di invio
Gestione I/O invia la richiesta di IRP_MJ_SET_VOLUME_INFORMATION. Può essere inviato, ad esempio, quando un'applicazione in modalità utente ha chiamato una funzione Win32, ad esempio SetVolumeLabel.
Operazione: Driver di file system
Il driver del file system deve estrarre e decodificare l'oggetto file per determinare se rappresenta un volume utente aperto. In caso contrario, il driver del file system deve impostare le informazioni sul volume appropriate e completare l'IRP. In caso contrario, il file system deve completare l'IRP in base alle esigenze senza impostare le informazioni sul volume.
I tipi di informazioni sul volume che possono essere impostati sono dipendenti dal file system, ma in genere includono uno o più dei valori seguenti:
- FileFsControlInformation
- FileFsLabelInformation
- FileFsObjectIdInformation
Per un elenco di tutti i tipi di informazioni possibili, vedere l'enumerazione FS_INFORMATION_CLASS in ntifs.h.
Operazione: Driver di filtro del file system legacy
Il driver di filtro deve passare questo IRP fino al driver inferiore successivo nello stack.
Parametri
Un file system o un driver di filtro chiama IoGetCurrentIrpStackLocation per l'IRP specificato per ottenere un puntatore alla propria posizione dello stack in IRP. Nei parametri seguenti, Irp punta a IRP e IrpSp punta al IO_STACK_LOCATION. Il driver può usare le informazioni impostate nei membri seguenti dell'IRP e del percorso dello stack IRP per elaborare una richiesta di informazioni sul volume impostata:
DeviceObject è un puntatore all'oggetto dispositivo di destinazione.
Irp->AssociateIrp.SystemBuffer punta a un buffer di input contenente i valori delle informazioni sul volume da impostare. Queste informazioni vengono archiviate in una delle strutture seguenti:
- FILE_FS_CONTROL_INFORMATION
- FILE_FS_LABEL_INFORMATION
- FILE_FS_OBJECTID_INFORMATION
Irp->IoStatus punta a una struttura IO_STATUS_BLOCK che riceve lo stato di completamento finale e le informazioni sull'operazione richiesta.
IrpSp->FileObject punta all'oggetto file associato a DeviceObject.
Il parametro IrpSp-FileObject> contiene un puntatore al campo RelatedFileObject, che è anche una struttura FILE_OBJECT. Il campo RelatedFileObject della struttura FILE_OBJECT non è valido durante l'elaborazione di IRP_MJ_SET_VOLUME_INFORMATION e non deve essere usato.
IrpSp->MajorFunction è impostato su IRP_MJ_SET_VOLUME_INFORMATION.
IrpSp->Parameters.SetVolume.FsInformationClass è il tipo di informazioni da impostare per il volume e può essere uno dei seguenti:
Valore Significato FileFsControlInformation Impostare FILE_FS_CONTROL_INFORMATION per il volume. FileFsLabelInformation Impostare FILE_FS_LABEL_INFORMATION per il volume. FileFsObjectIdInformation Impostare FILE_FS_OBJECTID_INFORMATION per il volume. IrpSp->Parameters.SetVolume.Length è la lunghezza, in byte, del buffer a cui fa riferimento Irp-AssociatedIrp.SystemBuffer>.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per