estructura FILE_ALLOCATION_INFORMATION (ntifs.h)
La estructura FILE_ALLOCATION_INFORMATION se usa para establecer el tamaño de asignación de un archivo.
Sintaxis
typedef struct _FILE_ALLOCATION_INFORMATION {
LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;
Miembros
AllocationSize
Tamaño de asignación de archivos, en bytes. Normalmente, este valor es un múltiplo del tamaño del sector o clúster del dispositivo físico subyacente.
Comentarios
Esta operación se puede realizar de cualquiera de las maneras siguientes:
Llame a FltSetInformationFile o ZwSetInformationFile, pasando FileAllocationInformation como valor de FileInformationClass y pasando un búfer asignado por el autor de la llamada FILE_ALLOCATION_INFORMATION como valor de FileInformation. El parámetro FileHandle especifica el archivo cuyo tamaño de asignación se va a establecer.
Cree un IRP con el código de función principal IRP_MJ_SET_INFORMATION.
Esta operación solo es válida para archivos. No está definido para los directorios.
Los minifiltros del sistema de archivos deben usar FltSetInformationFile, no ZwSetInformationFile, para establecer el tamaño de asignación de un archivo.
FILE_WRITE_DATA acceso es necesario para establecer esta información.
El tamaño de asignación de un archivo y la posición del final del archivo son independientes entre sí, con la siguiente excepción: la posición del final del archivo siempre debe ser menor o igual que el tamaño de asignación. Si el tamaño de asignación se establece en un valor menor que la posición del final del archivo, la posición final del archivo se ajusta automáticamente para que coincida con el tamaño de asignación.
El tamaño del búfer FileInformation pasado a FltSetInformationFile o ZwSetInformationFile debe ser >= sizeof(FILE_ALLOCATION_INFORMATION)
.
Esta estructura debe alinearse en un límite de LONGLONG (8 bytes).
Requisitos
Requisito | Valor |
---|---|
Header | ntifs.h (incluya Ntifs.h, Fltkernel.h) |