
CSharedFile є CMemFile-похідного класу, який підтримує спільні файли пам'яті. Файли пам'яті ведуть себе як файлах на диску за винятком, що файл зберігається в оперативній пам'яті, а не на диску. Файл пам'яті є корисним для швидкого тимчасового зберігання або передачі сирих байтів або серіалізованной об'єктів між незалежних процесів.
Спільна пам'ять файли відрізняються від інших файлів пам'яті, в тому, що пам'ять для них виділяються з у GlobalAlloc функція Windows. Клас CSharedFile дані зберігаються у глобальному масштабі виділену пам'ять блок (створено за допомогою GlobalAlloc), та цього блоку пам'яті може бути спільною за допомогою DDE, буфера обміну або інші OLE/COM рівномірного передачі операції з даними, наприклад, за допомогою IDataObject.
GlobalAlloc повертає з HGLOBAL ручкою замість того, щоб вказівник на пам'яті, наприклад, він повернувся на malloc. HGLOBAL ручку необхідні в деяких додатках. Наприклад, поставити дані в буфері, вам потрібно маркер HGLOBAL.
Зверніть увагу, що CSharedFile не підтримує файли з розподілом пам'яті, і дані неможливо безпосередньо розподілятися між процесами.
CSharedFile об'єкти автоматично можна виділити їх власної пам'яті, або ваші власні блоку пам'яті можна прикріпити до CSharedFile об'єкта за номером CSharedFile::SetHandle. У будь-якому випадку пам'яті для вирощування пам'яті файл автоматично виділяється в nGrowBytes-sized кроками, якщо nGrowBytes не нуль.
Докладніше, перегляньте статтю файлів у MFC в Visual C++ програміста керівництво і Обробка файлів Під час бібліотеки посилання.
# включити lt;afxadv.h>
|&Nbsp членів класу ; Базовий клас | Ієрархічна діаграма
Дивіться також CMemFile, GlobalAlloc, GlobalFree, GlobalRealloc