FSCTL_DELETE_USN_JOURNAL IOCTL (winioctl.h)
Exclui o diário de alterações de USN (números de sequência de atualização) em um volume ou aguarda a notificação de exclusão do diário de alterações.
C++ |
---|
BOOL WINAPI DeviceIoControl( (HANDLE) hDevice, // handle to volume FSCTL_DELETE_USN_JOURNAL, // dwIoControlCode(LPVOID) lpInBuffer, // input buffer (DWORD) nInBufferSize, // size of input buffer NULL, // lpOutBuffer0, // nOutBufferSize(LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure |
Comentários
Para obter as implicações de E/S sobreposta nesta operação, consulte a seção Comentários do tópico DeviceIoControl .
Você pode usar FSCTL_DELETE_USN_JOURNAL para excluir um diário de alterações. O sistema de arquivos NTFS inicia uma operação de exclusão e retorna imediatamente ao processo de chamada, a menos que o sinalizador USN_DELETE_FLAG_NOTIFY seja definido no membro DeleteFlags do DELETE_USN_JOURNAL_DATA.
Se os sinalizadores USN_DELETE_FLAG_NOTIFY e USN_DELETE_FLAG_DELETE estiverem definidos, uma chamada para FSCTL_DELETE_USN_JOURNAL iniciará o processo de exclusão. Em seguida, a chamada bloqueia o thread de chamada e aguarda a exclusão (em uma chamada síncrona ou não sobreposta) ou configura a notificação de evento usando uma porta de conclusão de E/S ou outro mecanismo e retorna (em uma chamada assíncrona ou sobreposta).
Você também pode usar FSCTL_DELETE_USN_JOURNAL para receber uma notificação de que uma exclusão de diário de alteração foi concluída, definindo apenas USN_DELETE_FLAG_NOTIFY. Se você fizer isso, a operação FSCTL_DELETE_USN_JOURNAL aguardará até que a exclusão seja concluída antes de retornar (em uma chamada síncrona ou não sobreposta) ou configurará a notificação de evento usando uma porta de conclusão de E/S ou outro mecanismo (em uma chamada assíncrona ou sobreposta).
A exclusão na qual um aplicativo recebe notificação pode ter sido iniciada pelo processo atual ou por algum outro processo. Por exemplo, quando um aplicativo é iniciado, ele pode usar FSCTL_DELETE_USN_JOURNAL para determinar se uma exclusão iniciada por algum outro processo está em andamento e, se estiver, saia.
A exclusão completa de um diário de alterações requer uma verificação do volume em que reside o diário de alterações, o que pode levar muito tempo em um volume com muitos arquivos. A operação continua a ser concluída mesmo entre reinicializações do sistema. As tentativas de criar, modificar, excluir ou consultar o diário de alterações enquanto a exclusão está em andamento falham e retornam o código de erro ERROR_JOURNAL_DELETE_IN_PROGRESS.
A operação de FSCTL_DELETE_USN_JOURNAL tem um custo de desempenho significativo, portanto, deve ser usada com moderação. Um administrador deve excluir um diário quando o valor usn atual se aproximar do valor máximo de USN possível.
Para obter mais informações, consulte Criando, modificando e excluindo um diário de alterações.
Para recuperar um identificador para um volume, chame CreateFile com o parâmetro lpFileName definido como uma cadeia de caracteres no seguinte formato:
\.\X:
Na cadeia de caracteres anterior, X é a letra que identifica a unidade na qual o volume aparece. O volume deve ser NTFS.
No Windows 8 e no Windows Server 2012, esse código é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | Não |
TFO (Failover transparente) do SMB 3.0 | Não |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | Não |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | winioctl.h (inclua Windows.h) |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de