I am creating a program to populate a disk with a dummy file system.
Currently, I am writing files of variable sizes using WriteFile
.
My guess is that FileData
is not large enough for you to write i * 1024
bytes from it. Is i
the loop control variable for your list of files? If so, you need the write buffer FileData
to grow 1K at a time as you loop through your files.
This is an unusual construct. Are you sure the logic is correct here? Post more code (specifically, all usage of FileData
and i
) for better accuracy in the answers.
Note that you should not always be checking GetLastError
here - you need to check WriteFile
's return code before you rely on that being meaningful. Otherwise you could be picking up an error from some unrelated part of your code - whatever failed last.
I got a Error = 1784 and it was because I opened the file without specifying the size of records and then did block reads on the file.
Reset( FileHandle );
Should be
Reset( FileHandle, 1 );