Delen via


De wijzigingslogboek-id gebruiken

Het NTFS-bestandssysteem koppelt een niet-ondertekende 64-bits id aan elk wijzigingslogboek. Het logboek krijgt deze identificatie wanneer het wordt aangemaakt. Het bestandssysteem merkt het logboek met een nieuwe id waarbij de bestaande USN-records (Update Sequence Number) onbruikbaar zijn of mogelijk onbruikbaar kunnen zijn.

Het NTFS-bestandssysteem herampt bijvoorbeeld een wijzigingslogboek met een nieuwe id wanneer een volume wordt verplaatst van de ene versie van NTFS naar een andere en vervolgens terug. Een dergelijke verplaatsing kan plaatsvinden in een dual-boot-omgeving of bij het werken met verwisselbare media.

Gebruik de FSCTL_QUERY_USN_JOURNAL besturingscode om de identificatie van het huidige wijzigingslogboek op een opgegeven volume op te halen. Als u dit en alle andere wijzigingslogboekbewerkingen wilt uitvoeren, moet u systeembeheerdersbevoegdheden hebben. Dat wil gezegd, u moet lid zijn van de groep Administrators.

Wanneer een beheerder het wijzigingslogboek verwijdert en opnieuw maakt, bijvoorbeeld wanneer de huidige USN-waarde de maximaal mogelijke USN-waarde nadert, beginnen de USN-waarden opnieuw vanaf nul. Wanneer het NTFS-bestandssysteem een logboek voorziet van een nieuwe identificatie in plaats van het logboek opnieuw te maken, wordt de USN niet opnieuw ingesteld op nul, maar voortgezet vanaf de huidige USN. In beide gevallen zijn alle bestaande USN's minder dan toekomstige USN's.

Wanneer u informatie nodig hebt over een specifieke set records, gebruikt u de FSCTL_QUERY_USN_JOURNAL besturingscode om de wijzigingslogboek-id te verkrijgen. Gebruik vervolgens de FSCTL_READ_USN_JOURNAL controlecode om de logboekrecords te lezen die interessant zijn. Het NTFS-bestandssysteem retourneert alleen records die geldig zijn voor het logboek dat is opgegeven door de id.

Uw toepassing heeft zowel de USN's van de bestanden als de identificatiecode nodig om het logboek te lezen. Deze vereiste biedt een integriteitscontrole voor gevallen waarin uw toepassing de bestaande records in het bestand moet negeren en waar records zijn geschreven in eerdere exemplaren van het logboek voor hetzelfde volume.

Als u de records wilt ophalen waarin u geïnteresseerd bent, moet u beginnen bij de oudste record (met het laagste USN) en vooruit scannen totdat u de eerste record van belang hebt gevonden.