estrutura FILE_ALLOCATION_INFORMATION (ntifs.h)
A estrutura FILE_ALLOCATION_INFORMATION é usada para definir o tamanho da alocação de um arquivo.
Sintaxe
typedef struct _FILE_ALLOCATION_INFORMATION {
LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;
Membros
AllocationSize
Tamanho da alocação de arquivo, em bytes. Normalmente, esse valor é um múltiplo do tamanho do setor ou do cluster do dispositivo físico subjacente.
Comentários
Essa operação pode ser executada de qualquer uma das seguintes maneiras:
Chame FltSetInformationFile ou ZwSetInformationFile, passando FileAllocationInformation como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_ALLOCATION_INFORMATION estruturado como o valor de FileInformation. O parâmetro FileHandle especifica o arquivo cujo tamanho de alocação deve ser definido.
Crie um IRP com o código de função principal IRP_MJ_SET_INFORMATION.
Essa operação é válida somente para arquivos. É indefinido para diretórios.
Os minifiltros do sistema de arquivos devem usar FltSetInformationFile, não ZwSetInformationFile, para definir o tamanho da alocação de um arquivo.
FILE_WRITE_DATA acesso é necessário para definir essas informações.
O tamanho de alocação de um arquivo e a posição de fim do arquivo são independentes uns dos outros, com a seguinte exceção: a posição de fim do arquivo sempre deve ser menor ou igual ao tamanho da alocação. Se o tamanho da alocação for definido como um valor menor que a posição do fim do arquivo, a posição final do arquivo será ajustada automaticamente para corresponder ao tamanho da alocação.
O tamanho do buffer FileInformation passado para FltSetInformationFile ou ZwSetInformationFile deve ser >= sizeof(FILE_ALLOCATION_INFORMATION)
.
Essa estrutura deve ser alinhada em um limite LONGLONG (8 bytes).
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntifs.h (include Ntifs.h, Fltkernel.h) |