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.
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) |