if broken it is, fix it you should
Verwijderd
Ik heb een keer een FAT16 bestandssysteem gemaakt, maar als jij buiten windows om een wijziging maakt zal je eerst je computer opnieuw moeten opstarten. Anders pakt windows het niet.
Wat is buiten windows? ik bedoel als ik een attribuut wijzig moet dit toch meteen te zien zijn....Verwijderd schreef op 17 februari 2003 @ 13:35:
Ik heb een keer een FAT16 bestandssysteem gemaakt, maar als jij buiten windows om een wijziging maakt zal je eerst je computer opnieuw moeten opstarten. Anders pakt windows het niet.
if broken it is, fix it you should
elgringo schreef op 17 February 2003 @ 13:40:
Wat is buiten windows? ik bedoel als ik een attribuut wijzig moet dit toch meteen te zien zijn....
Als een programma direct low-level gaat klooien op een schijf heeft dat niets meer met windows te maken, dus is het buiten windows.
Was het niet zo dat er sowieso een aantal kopien van je FAT op de schijf staan? Pas je die allemaal aan?
Verder kan het natuurlijk heel goed zijn dat windows een kopie van de FAT bewaart (in RAM bijv.) en die alleen maar refresht als ie daar een reden toe heeft. Als jij windows vertelt dat er iest gewijzigd is of moet worden dus, of na een reboot.
Je kunt via de API exclusieve rechten voor een schijf krijgen door 'm te locken. Ik heb het truucje zelf wel eens uitgehaald voor een eigen kopieerbeveiliging op een floppy.Dido schreef op 17 februari 2003 @ 13:43:
Verder kan het natuurlijk heel goed zijn dat windows een kopie van de FAT bewaart (in RAM bijv.) en die alleen maar refresht als ie daar een reden toe heeft. Als jij windows vertelt dat er iest gewijzigd is of moet worden dus, of na een reboot.
"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein
Het is nog geen fat wijziging, alleen een attribuut (van een diretorie entry) en deze moet zo aan te passen zijn (wat ook wel gebeurd maar niet meteen, een soort niet gewenste tussenliggende cache)Dido schreef op 17 February 2003 @ 13:43:
[...]
Als een programma direct low-level gaat klooien op een schijf heeft dat niets meer met windows te maken, dus is het buiten windows.
Was het niet zo dat er sowieso een aantal kopien van je FAT op de schijf staan? Pas je die allemaal aan?
Verder kan het natuurlijk heel goed zijn dat windows een kopie van de FAT bewaart (in RAM bijv.) en die alleen maar refresht als ie daar een reden toe heeft. Als jij windows vertelt dat er iest gewijzigd is of moet worden dus, of na een reboot.
if broken it is, fix it you should
Kan je hier wat meer info over geven?Exirion schreef op 17 February 2003 @ 13:48:
[...]
Je kunt via de API exclusieve rechten voor een schijf krijgen door 'm te locken. Ik heb het truucje zelf wel eens uitgehaald voor een eigen kopieerbeveiliging op een floppy.
if broken it is, fix it you should
CreateFile kan ook schijven in raw-mode openen met een speciale vorm als bestandsnaam (wel 2k/XP only), zoals \\.\C:, of \\.\PHYSICALDRIVE2. De handle die je dan krijgt kun je gebruiken voor DeviceIoControl (en ook Read/WriteFile voor zover ik weet). Ik dacht dat je automatisch een lock kreeg als je deze methode gebruikt.
edit2:
Er is wel een FSCTL_(UN)LOCK_VOLUME control code voor DeviceIoControl waarmee je een volume kan (un)locken. In de documentatie staat:
This operation is useful for applications that need exclusive access to a volume for a period of time—for example, disk utility programs. [...] The system flushes all cached data to the volume before locking it. For example, any data held in a lazy-write cache is written to the volume.
edit:
Hmm zie net dat je WriteFile gebruikt dus je zal deze methode al wel gebruikt hebben...
Hmm zie net dat je WriteFile gebruikt dus je zal deze methode al wel gebruikt hebben...
edit2:
Er is wel een FSCTL_(UN)LOCK_VOLUME control code voor DeviceIoControl waarmee je een volume kan (un)locken. In de documentatie staat:
This operation is useful for applications that need exclusive access to a volume for a period of time—for example, disk utility programs. [...] The system flushes all cached data to the volume before locking it. For example, any data held in a lazy-write cache is written to the volume.
[ Voor 62% gewijzigd door madwizard op 17-02-2003 17:40 ]
Pagina: 1