estrutura FILE_VALID_DATA_LENGTH_INFORMATION (ntddk.h)

A estrutura FILE_VALID_DATA_LENGTH_INFORMATION é usada como um argumento para ZwSetInformationFile.

Sintaxe

typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
  LARGE_INTEGER ValidDataLength;
} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;

Membros

ValidDataLength

Especifica o novo comprimento de dados válido para o arquivo. Esse parâmetro deve ser um valor positivo maior que o comprimento de dados válido atual, mas menor ou igual ao tamanho do arquivo atual.

Comentários

A estrutura FILE_VALID_DATA_LENGTH_INFORMATION é usada para definir um novo comprimento de dados válido para um arquivo em um volume NTFS. O comprimento de dados válido de um arquivo é o comprimento, em bytes, dos dados que foram gravados no arquivo. Esses dados válidos se estendem do início do arquivo até o último byte no arquivo que não foi zerado ou não foi deixado não inicializado.

Definir essas informações requer acesso FILE_WRITE_DATA ao arquivo. Além disso, não administradores e usuários remotos devem ter SeManageVolumePrivilege (SE_MANAGE_VOLUME_PRIVILEGE) para o volume no qual o arquivo reside.

Os drivers de filtro do sistema de arquivos podem achar útil definir um comprimento de dados válido nos seguintes cenários:

  • Ao gravar clusters brutos diretamente no disco por meio de um canal de hardware. Isso permite que o driver de filtro informe ao sistema de arquivos que esse intervalo contém dados válidos que podem ser retornados ao usuário.
  • Ao criar arquivos grandes em que o desempenho é um problema. Isso evita o tempo necessário para preencher o arquivo com zeros quando o arquivo é criado ou estendido.
  • Ao estender remotamente um arquivo e gravar em disco em um sistema de arquivos de cluster de metadados atendidos.
O tamanho do buffer FileInformation passado para ZwSetInformationFile deve ser pelo menos sizeof(FILE_VALID_DATA_LENGTH_INFORMATION).

Essa estrutura deve ser alinhada em um limite LONGLONG (8 bytes).

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows XP e versões posteriores do sistema operacional Windows.
Cabeçalho ntddk.h (inclua Ntddk.h)

Confira também

ZwSetInformationFile