size=GetFileSize(fh,NULL); к примеру файл ровно 1000 байт.
buffer=(char *)malloc(size-13); выделишь буфер размером 987 байт.
memset(buffer,0,size); затем очистиш 1000 байт. т.е. 13 левых байт затреш а там может быть что угодно.
bRead=::ReadFile(fh,buffer,size,(LPDWORD)&bytesread,NULL); и вот ты весь файл читаеш в этот буфер затирая эти 13 байт.
Также советую включить проверку стека чтобы видеть что случилось. А если поставиш try except то быстро можно найти место ошибки
Последний раз редактировалось slesh; 10.08.2009 в 23:23..