código de controle FSCTL_SET_ZERO_DATA

O código de controle FSCTL_SET_ZERO_DATA preenche um intervalo especificado de um arquivo com zeros (0). Se o arquivo for esparso ou compactado, o sistema de arquivos NTFS poderá desalocar o espaço em disco no arquivo. Isso define o intervalo de bytes como zeros (0) sem estender o tamanho do arquivo.

Para executar essa operação de um driver, chame FltFsControlFile com os parâmetros a seguir.

Parâmetros

  • Instância: ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.

  • FileObject [in]: ponteiro de objeto de arquivo para o arquivo no qual gravar zeros. Esse parâmetro é necessário e não pode ser NULL.

  • FsControlCode [in]: o código de controle da operação.

Use FSCTL_SET_ZERO_DATA para esta operação.

O membro FileOffset é o deslocamento de bytes do primeiro byte a ser definido como zeros (0) e o membro BeyondFinalZero é o deslocamento de bytes do primeiro byte além do último zero (0) byte.

O membro Flags no FILE_ZERO_DATA_INFORMATION_EX especifica modificadores para a operação. Por exemplo, quando Flags é definido como FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA, o conteúdo do cache correspondente a esse intervalo do arquivo não é limpo.

  • InputBufferLength [in]: o tamanho do buffer de entrada, em bytes.

  • OutputBuffer [out]: não usado com esta operação; defina como NULL.

  • OutputBufferLength [out]: não usado com esta operação; definido como zero.

Bloco de status

FltFsControlFile retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado.

Código de retorno Significado
STATUS _INSUFFICIENT_RESOURCES Não há memória suficiente para concluir a operação.
STATUS_INVALID_PARAMETER O InputBufferLength é menor que o tamanho das estruturas de FILE_ZERO_DATA_INFORMATION ou o arquivo especificado é um arquivo de metadados do sistema ou um diretório.
STATUS_ACCESS_DENIED O FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA é definido do modo de usuário.
STATUS_MEDIA_WRITE_PROTECTED No momento, o volume está protegido por gravação.

Requisitos

Tipo de Requisito Requisito
parâmetro Ntifs.h (inclua Ntifs.h)

Confira também

FltFsControlFile

FILE_ZERO_DATA_INFORMATION

FILE_ZERO_DATA_INFORMATION_EX