FILE_VALID_DATA_LENGTH_INFORMATION estrutura (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.
Observações
A estrutura de 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. Esse de dados válidos se estende 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 FILE_WRITE_DATA acesso 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 escrever 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 servidos.
Essa estrutura deve ser alinhada em um limite LONGLONG (8 bytes).
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Microsoft Windows XP e versões posteriores do sistema operacional Windows. |
cabeçalho | ntddk.h (inclua Ntddk.h) |