IRP_MJ_SET_QUOTA (fs e driver di filtro)

Data di invio

Gestione I/O invia la richiesta di IRP_MJ_SET_QUOTA. Può essere inviato, ad esempio, quando un'applicazione in modalità utente ha chiamato un metodo Win32, ad esempio IDiskQuotaControl::SetQuotaState.

Operazione: Driver di file system

IRP_MJ_SET_QUOTA e IRP_MJ_QUERY_QUOTA esistono in Windows NT 4.0, ma non sono stati usati dai file system. Nei sistemi Windows 2000 e versioni successive vengono usati per il supporto della quota disco in NTFS. Il supporto per questi indirizzi IP da parte di nuovi file system è facoltativo.

Operazione: Driver di filtro del file system legacy

Il driver di filtro deve passare questo IRP fino al driver inferiore successivo nello stack, a meno che non debba eseguire esplicitamente l'override del comportamento della quota.

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 sulla quota impostata:

  • DeviceObject è un puntatore all'oggetto dispositivo di destinazione.

  • DeviceObject->Flag : se il flag di DO_BUFFERED_IO è impostato, il chiamante ha richiesto METHOD_BUFFERED I/O. In caso contrario, il chiamante ha richiesto METHOD_NEITHER I/O.

  • Irp->AssociateIrp.SystemBuffer punta a un buffer fornito dal sistema da usare come buffer di sistema intermedio, se il flag DO_BUFFERED_IO è impostato in DeviceObject-Flags>. In caso contrario, questo membro è impostato su NULL.

  • Irp->IoStatus punta a una struttura IO_STATUS_BLOCK che riceve lo stato di completamento finale e le informazioni sull'operazione richiesta.

  • Irp->UserBuffer punta a un buffer fornito dal chiamante che contiene le voci di quota da aggiungere o modificare per il volume.

  • 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_QUOTA e non deve essere usato.

  • IrpSp->MajorFunction è impostato su IRP_MJ_SET_QUOTA.

  • IrpSp->Parameters.SetQuota.Length è la lunghezza, in byte, del buffer a cui fa riferimento Irp-UserBuffer>.

Vedi anche

FILE_QUOTA_INFORMATION

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoCheckQuotaBuffer Validità

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_QUOTA