The first statement that the m_hFile is not used and has no meaning is essentially true. That is the file handle was only needed long enough to load the file into memory. I (incorrectly) assumed that was not the case (blast it). The fasted way to read a file is a cluster at a time. You do not need to actualy care about this detail, since you are only reading the file as a whole. Look into sharing file read access. This will not speed up the actual read time, but will reduce the preceived time (if used properly). What this means, is that (if) the file is only changed by adding to it, then you just need to read the additional information added to the file. What I mensioned above is also true if you do not have file sharing read access. What I mean is that (assuming the other application closes the file, after writing to it) you can check if the file size has changed on a regular basis, and just read the changes. What all that bull boils down to is this: Only read what has changed and nothing more. I hope that helps, because I cann't explane all the ideas that have poped into my head. INTP Every thing is relative...