Bug Fix: Set the file pointer before read/write if overlapped is not NULL and support seeking with FILE_END.