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
   56   57   58   59   60   61   62   63   64   65   66