Ik moet een bestand inlezen via een FileStream, maar om de een of andere reden stuit ik nu op een bestand dat zich niet synchroon wil laten uitlezen met mijn code. Waarom dat zo is, begrijp ik sowieso niet, want de vorige versie van mijn tool doet het prima en daarin is het lezen van het bestand niet veranderd.
Goed, ik probeer dus dit:
Pretty straightforward, huh? Maar dan klapt ie er dus uit:
Ik zie 2 dingen die ik kan doen: uitzoeken (antwoord krijgen op
) waarom de handle opeens niet meer synchroon gelezen kan worden of de handle asynchroon lezen. Maar voor de 2e "oplossing" wil ik wel dan kunnen uitvragen of dat nodig is, of de file dus synchrone reads ondersteunt...
Goed, ik probeer dus dit:
C#:
1
2
| FileStream stream = new FileStream(file.Filename, FileMode.Open, FileAccess.Read, FileShare.Read, 8, FileOptions.SequentialScan); bytesRead = stream.Read(buffer, 0, bufferSize); |
Pretty straightforward, huh? Maar dan klapt ie er dus uit:
code:
Het bestand is afkomst van een Daemon Tools drive waarin een .img file gemount is. Maar dat maakt eigenlijk helemaal niet uit, want nogmaals: het heeft gewerkt met dezelfde code...1
| Handle does not support synchronous operations. The parameters to the FileStream constructor may need to be changed to indicate that the handle was opened asynchronously (that is, it was opened explicitly for overlapped I/O). |
Ik zie 2 dingen die ik kan doen: uitzoeken (antwoord krijgen op
日本!🎌