Ik heb wat code die een file kopieert naar een USB stick mbt boost filesystem.
Daarna kopiëer ik nog een file naar een andere partitie van de HDD en geef ik op het UI aan dat ik klaar ben.
Als je dan de USB er snel uit trekt, staat de file er niet, gedeeltelijk en soms helemaal op.
(sommige sticks zijn gevoeliger hier voor dan anderen).
Natuurlijk is dit normaal, bekent en geaccepteerd van USB, maar ik wil het niet.
Ik zou de usb netjes kunnen ejecten, maar soms moet er nog meer gebeuren op de USB stick en ik wil de gebruiker niet opzadelen met eruit en erin stoppen van de stick. Ook zijn sommige gebruikers haastig en die doen dan niet netjes eject, maar ondanks dat wil ik gewoon zeker zijn dat mijn file erop staat.
ik heb geprobeerd:
Ondanks dat ie "Gelukt" printte, stond de file niet op de stick.
Zelfs het linken met commode.obj (zie: Force-bestanden naar de schijf worden gewist) en het toevoegen van een _flushall() hielp niet.
_commit heb ik niet gebruikt omdat ik van BOOSTFS geen windows file handle kreeg. Ook staat er: "_commit will only function on 16-bit operating systesm." terwijl ik op windows XP embedded draai.
Heeft iemand goede ideeën hoe ik de USB-stick kan flushen zonder een eject uit te voeren?
Daarna kopiëer ik nog een file naar een andere partitie van de HDD en geef ik op het UI aan dat ik klaar ben.
Als je dan de USB er snel uit trekt, staat de file er niet, gedeeltelijk en soms helemaal op.
(sommige sticks zijn gevoeliger hier voor dan anderen).
Natuurlijk is dit normaal, bekent en geaccepteerd van USB, maar ik wil het niet.
Ik zou de usb netjes kunnen ejecten, maar soms moet er nog meer gebeuren op de USB stick en ik wil de gebruiker niet opzadelen met eruit en erin stoppen van de stick. Ook zijn sommige gebruikers haastig en die doen dan niet netjes eject, maar ondanks dat wil ik gewoon zeker zijn dat mijn file erop staat.
ik heb geprobeerd:
code:
1
2
3
4
5
| BOOSTFS::copy_file(ori, dest) if(BOOSTFS::exist(dest)) { print("Gelukt"); } |
Ondanks dat ie "Gelukt" printte, stond de file niet op de stick.
Zelfs het linken met commode.obj (zie: Force-bestanden naar de schijf worden gewist) en het toevoegen van een _flushall() hielp niet.
_commit heb ik niet gebruikt omdat ik van BOOSTFS geen windows file handle kreeg. Ook staat er: "_commit will only function on 16-bit operating systesm." terwijl ik op windows XP embedded draai.
Heeft iemand goede ideeën hoe ik de USB-stick kan flushen zonder een eject uit te voeren?
[ Voor 4% gewijzigd door Verwijderd op 02-03-2011 21:12 ]