Page 61 - 4989
P. 61
Повний перелік функцій для роботи з файлами можна знайти
за посиланням https://msdn.microsoft.com/en-
us/library/windows/desktop/aa364232(v=vs.85).aspx, для роботи з
каталогами – за посиланням https://msdn.microsoft.com/en-
us/library/windows/desktop/aa363950(v=vs.85).aspx
6.3.4 Файли, проектовані в пам’ять
Зазвичай робота з файлом передбачає копіювання його
вмісту в оперативну пам’ять, виконання операцій над даними в
оперативній пам’яті та запис у файл з оперативної пам’яті. Якщо
файл великий і копіювання його повного вмісту в пам’ять
недоцільне, можна скористатись механізмом файлів,
проектованих у пам’ять (memory-mapped files). Цей механізм
також використовується для обміну даними між різними
процесами.
Таблиця 6.3 – Функції для роботи з файлами, проектованими
в пам’ять
Функція Призначення
CreateFileMapping створення проекції файла
MapViewOfFile отримання покажчика на початок файла,
спроектованого функцією
CreateFileMapping
OpenFileMapping відкриття проекції файлу, створеної іншим
процесом
UnmapViewOfFile закриття проекції файла
Послідовність роботи з файлами, проектованими в пам’ять, є
наступною:
1) відкрити файл функцією CreateFile;
2) для отриманого дескриптора утворити проекцію файла
функцією CreateFileMapping;
3) отримати покажчик на область пам’яті функцією
MapViewOfFile;
4) виконати необхідні дії над вмістом файлу, що доступний
за отриманим покажчиком;
5) закрити проекцію файла функцією UnmapViewOfFile;
6) звільнити дескриптор проекції файла функцією
61