FSCTL_DELETE_USN_JOURNAL IOCTL (winioctl.h)
Supprime le journal de modifications du nombre de séquences de mise à jour (USN) sur un volume ou attend la notification de la suppression du journal des modifications.
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 |
Remarques
Pour connaître les implications des E/S qui se chevauchent sur cette opération, consultez la section Remarques de la rubrique DeviceIoControl .
Vous pouvez utiliser FSCTL_DELETE_USN_JOURNAL pour supprimer un journal des modifications. Le système de fichiers NTFS démarre une opération de suppression et retourne immédiatement au processus appelant, sauf si l’indicateur USN_DELETE_FLAG_NOTIFY est défini dans le membre DeleteFlags de DELETE_USN_JOURNAL_DATA.
Si les indicateurs USN_DELETE_FLAG_NOTIFY et USN_DELETE_FLAG_DELETE sont tous deux définis, un appel à FSCTL_DELETE_USN_JOURNAL démarre le processus de suppression. Ensuite, l’appel bloque le thread appelant et attend la suppression (sur un appel synchrone ou non superposé), ou configure la notification d’événement à l’aide d’un port d’achèvement d’E/S ou d’un autre mécanisme, puis retourne (sur un appel asynchrone ou superposé).
Vous pouvez également utiliser FSCTL_DELETE_USN_JOURNAL pour recevoir une notification indiquant qu’une suppression du journal des modifications est terminée, en définissant uniquement USN_DELETE_FLAG_NOTIFY. Dans ce cas, l’opération de FSCTL_DELETE_USN_JOURNAL attend la fin de la suppression avant de retourner (sur un appel synchrone ou non superposé), ou configure la notification d’événement à l’aide d’un port d’achèvement d’E/S ou d’un autre mécanisme (sur un appel asynchrone ou superposé).
La suppression à laquelle une application reçoit une notification peut avoir été initiée par le processus actuel ou par un autre processus. Par exemple, lorsqu’une application est démarrée, elle peut utiliser FSCTL_DELETE_USN_JOURNAL pour déterminer si une suppression démarrée par un autre processus est en cours et si c’est le cas, quitter.
La suppression complète d’un journal des modifications nécessite une analyse du volume où réside le journal des modifications, ce qui peut prendre beaucoup de temps sur un volume contenant de nombreux fichiers. L’opération continue à se terminer même lors des redémarrages du système. Les tentatives de création, de modification, de suppression ou d’interrogation du journal des modifications pendant la suppression en cours échouent et retournent le code d’erreur ERROR_JOURNAL_DELETE_IN_PROGRESS.
L’opération de FSCTL_DELETE_USN_JOURNAL a un coût de performances important. Elle doit donc être utilisée avec parcimonie. Un administrateur doit supprimer un journal lorsque la valeur USN actuelle approche de celle de la valeur USN maximale possible.
Pour plus d’informations, consultez Création, modification et suppression d’un journal des modifications.
Pour récupérer un handle dans un volume, appelez CreateFile avec le paramètre lpFileName défini sur une chaîne sous la forme suivante :
\.\X :
Dans la chaîne précédente, X est la lettre identifiant le lecteur sur lequel le volume apparaît. Le volume doit être NTFS.
Dans Windows 8 et Windows Server 2012, ce code est pris en charge par les technologies suivantes.
Technologie | Prise en charge |
---|---|
Protocole Server Message Block (SMB) 3.0 | Non |
Basculement transparent SMB 3.0 (TFO) | No |
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) | No |
Système de fichiers du volume partagé de cluster (CsvFS) | Oui |
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | winioctl.h (inclure Windows.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour