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.
- InputBuffer [in]: um ponteiro para uma estrutura FILE_ZERO_DATA_INFORMATION ou FILE_ZERO_DATA_INFORMATION_EX que especifica o intervalo do arquivo a ser definido como zeros.
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) |