struttura FILE_ALLOCATION_INFORMATION (ntifs.h)
La struttura FILE_ALLOCATION_INFORMATION viene utilizzata per impostare le dimensioni di allocazione per un file.
Sintassi
typedef struct _FILE_ALLOCATION_INFORMATION {
LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;
Membri
AllocationSize
Dimensioni di allocazione dei file, in byte. In genere questo valore è un multiplo delle dimensioni del settore o del cluster del dispositivo fisico sottostante.
Osservazioni
Questa operazione può essere eseguita in uno dei modi seguenti:
Chiamare FltSetInformationFile o ZwSetInformationFile, passando FileAllocationInformation come valore di FileInformationClass e passando un buffer allocato dal chiamante FILE_ALLOCATION_INFORMATION strutturato come valore di FileInformation. Il parametro FileHandle specifica il file le cui dimensioni di allocazione devono essere impostate.
Creare un IRP con il codice di funzione principale IRP_MJ_SET_INFORMATION.
Questa operazione è valida solo per i file. Non è definito per le directory.
I minifiltri del file system devono usare FltSetInformationFile, non ZwSetInformationFile, per impostare le dimensioni di allocazione per un file.
FILE_WRITE_DATA'accesso è necessario per impostare queste informazioni.
Le dimensioni di allocazione e la posizione di fine del file di un file sono indipendenti l'una dall'altra, con l'eccezione seguente: la posizione di fine del file deve essere sempre minore o uguale alla dimensione di allocazione. Se le dimensioni di allocazione sono impostate su un valore minore della posizione di fine del file, la posizione di fine del file viene modificata automaticamente in base alle dimensioni di allocazione.
Le dimensioni del buffer FileInformation passato a FltSetInformationFile o ZwSetInformationFile devono essere >= sizeof(FILE_ALLOCATION_INFORMATION)
.
Questa struttura deve essere allineata su un limite LONGLONG (8 byte).
Fabbisogno
Requisito | Valore |
---|---|
intestazione | ntifs.h (include Ntifs.h, Fltkernel.h) |