Уроки Iczelion'а


         

и dwFileOffsetLow задают стартовый файловое


dwFileOffsetHigh и dwFileOffsetLow задают стартовый файловое смещение файловой порции, которую вы хотите загрузить в память. В нашем случае нам нужно мы хотим читать весь файл, поэтому начинаем мэппинг со смещение ноль.
dwNumberOfBytesToMaр задает количество байтов, которое нужно промэппировать в память. Чтобы сделать это со всем файлом, передайте ноль MaрViewOfFile.
После вызова MaрViewOfFile, желаемое количество загружается в память. Вы получите указатель на блок памяти, который содержит данные из файла.
invoke GetFileSize,hFileRead,NULL
Теперь узнаем, какого размера наш файл. размер файла возвращается в eax.\ Если файл больше, чем 4 GB, то верхнее двойное слово размера файла сохраняется в FileSizeHighWord. Так как мы не ожидаем встретить таких больших файлов, мы можем проигнорировать это.
invoke WriteFile,hFileWrite,pMemory,eax,ADDR SizeWritten,NULL
Запишем данные в выходной файл.
invoke UnmapViewOfFile,pMemory
Когда мы заканчиваем со входным файлом, вызываем UnmapViewOfFile.
call CloseMapFile invoke CloseHandle,hFileWrite
И закрываем все файлы.
invoke SetWindowText,hWnd,ADDR AppName
Восстанавливаем оригинальное название окна.
invoke EnableMenuItem,hMenu,IDM_OPEN,MF_ENABLED invoke EnableMenuItem,hMenu,IDM_SAVE,MF_GRAYED
разрешаем доступ к пункту меню Oрen и запрещаем к Save As.
[C] Iczelion, пер. Aquila.

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий