Verwenden des Änderungsjournalbezeichners
Das NTFS-Dateisystem ordnet jedem Änderungsjournal einen nicht signierten 64-Bit-Bezeichner zu. Das Journal wird beim Erstellen mit diesem Bezeichner gestempelt. Das Dateisystem stempelt das Journal mit einem neuen Bezeichner, bei dem die vorhandenen USN-Datensätze (Update Sequence Number) entweder nicht verwendet werden können oder sind.
Das NTFS-Dateisystem stempelt beispielsweise ein Änderungsjournal mit einem neuen Bezeichner neu, wenn ein Volume von einer NTFS-Version in eine andere und dann zurück verschoben wird. Eine solche Verschiebung kann in einer Dual-Boot-Umgebung oder bei der Arbeit mit Wechselmedien erfolgen.
Verwenden Sie den FSCTL_QUERY_USN_JOURNAL Steuercode, um den Bezeichner des aktuellen Änderungsjournals auf einem angegebenen Volume abzurufen. Um diesen und alle anderen Änderungsjournalvorgänge auszuführen, müssen Sie über Systemadministratorrechte verfügen. Das heißt, Sie müssen Mitglied der Gruppe Administratoren sein.
Wenn ein Administrator das Änderungsjournal löscht und neu erstellt, z. B. wenn sich der aktuelle USN-Wert dem maximal möglichen USN-Wert nähert, beginnen die USN-Werte erneut bei Null. Wenn das NTFS-Dateisystem ein Journal mit einem neuen Bezeichner stempelt, anstatt das Journal neu zu erstellen, wird der USN nicht auf Null zurückgesetzt, sondern vom aktuellen USN fortgesetzt. In beiden Fällen sind alle vorhandenen USNs kleiner als alle zukünftigen USNs.
Wenn Sie Informationen zu einem bestimmten Satz von Datensätzen benötigen, verwenden Sie den FSCTL_QUERY_USN_JOURNAL-Steuerelementcode, um den Änderungsjournalbezeichner abzurufen. Verwenden Sie dann den FSCTL_READ_USN_JOURNAL Kontrollcode, um die relevanten Journaldatensätze zu lesen. Das NTFS-Dateisystem gibt nur Datensätze zurück, die für das durch den Bezeichner angegebene Journal gültig sind.
Ihre Anwendung benötigt sowohl die USNs der Datensätze als auch den Bezeichner, um das Journal zu lesen. Diese Anforderung bietet eine Integritätsprüfung für Fälle, in denen Ihre Anwendung die vorhandenen Datensätze in der Datei ignorieren sollte und in denen Datensätze in früheren Instanzen des Journals für dasselbe Volume geschrieben wurden.
Um die Datensätze zu erhalten, an denen Sie interessiert sind, müssen Sie mit dem ältesten Datensatz (d. h. mit dem niedrigsten USN) beginnen und vorwärts scannen, bis Sie den ersten relevanten Datensatz gefunden haben.