Поделиться через


Контейнеры: составные файлы

Данный раздел описывает компоненты и реализации составных файлов и преимуществ и недостатков использования нескольких файлов в пользовательских приложениях OLE.

Составные файлы неотъемлемая часть OLE.Они используются для передачи данных и упростить хранение документа OLE.Составные файлы реализация структурной активным модели хранения.Последовательные интерфейсов существуют, сериализация поддержки в хранилище, поток или объект файла.Составные файлы поддерживаются в библиотеки Microsoft Foundation Class классами COleStreamFile и COleDocument.

ПримечаниеПримечание

Использование составного файл не означает, что данные поступают из документа или OLE составного документа.Составные файлы только один из способов хранения составные документы, ЯВЛЯЕТСЯ документы и другие сведения.

Компоненты составного файла

ЯВЛЯЕТСЯ реализация нескольких файлов использует 3 типа объекта: поток объектов, объектов хранилища и объекты ILockBytes.Эти объекты аналогичны компонентов стандартной файловой системы в следующих целях:

  • Поток объектов, таких как файлы, хранения данных любого типа.

  • Объекты хранилища, как каталоги, могут содержать другие объекты хранения и потока.

  • Объекты LockBytes представляют собой интерфейс между объектами хранилища и физическим оборудования.Они определяют, как фактические байты записываются в любое запоминающее устройство объект LockBytes получит доступ, в виде жесткого диска или область глобальной памяти.Дополнительные сведения об объектах LockBytes и интерфейсе ILockBytes см. в разделе справочник программиста OLE.

Преимущества и недостатки нескольких файлов

Составные файлы не содержат преимущества доступных с более ранними методами файла хранилища.В их число входят следующие элементы управления.

  • Пошаговый получить доступ к файлу.

  • Режимы доступа к файлу.

  • Шаблонизация структуры файлов.

Потенциальные недостатки нескольких файлов — крупноразмерных и проблем производительности, относящиеся к неповоротливых на дисках — рассматриваться при решении того, авторизирован, следует ли их использования в приложении.

ydd3k45e.collapse_all(ru-ru,VS.110).gifПошаговый доступ к файлам

Пошаговый доступ к файлам автоматическая выигрыш от использования составных файлов.Так как составной файл можно просмотреть в виде «файловая система " в файле» отдельных типов объектов, таких как поток или хранилище, может осуществляться без необходимости загрузки целый файл.Это может значительно сократить время приложению требуется доступ к новым объекты для изменения пользователем.Добавочное обновление, основанное на том же сходные концепции, обеспечивает преимущества.Вместо сохранить весь файл, чтобы сохранить изменения, внесенные в один объект OLE сохраняет только поток или объект хранилища, отредактированных пользователем.

ydd3k45e.collapse_all(ru-ru,VS.110).gifРежимы доступа к файлу

Возможность определить, когда изменения объектов в составном файле зафиксированы на диск другое преимущество использования нескольких файлов.Режим, в котором осуществляется или транзакционные или направляет файлы, определяющее, когда изменения фиксируются.

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

  • Физическая элемент управления содержит изменения в документе по мере их внесения и не имеет возможности отменять их позже.

Дополнительные сведения о режимах доступа см. в разделе справочник программиста OLE.

ydd3k45e.collapse_all(ru-ru,VS.110).gifШаблонизация

Унифицированная структура нескольких файлов позволяет различным приложениям OLE просмотреть через составные файлы, созданные пользовательским приложением OLE без набора знаний приложения, фактически создал файл.

ydd3k45e.collapse_all(ru-ru,VS.110).gifЗамечания о размере и производительности

Из-за сложности структуры хранения составного файла и способность сохранять данные последовательно, файлы с помощью этого формата имеют тенденцию быть больше, чем другие файлы использование хранилища " неструктурированный или «" неструктурированный файл».Если приложение часто загружает и сохраняет файлы, то использование составных файлов может привести к увеличению размера файла намного быстрее, чем файлы noncompound.Поскольку составные файлы могут получить большими, время выборки для файлов, хранящихся на дискету, загруженное из может быть также затрагивается, в результате чего более медленном доступе к файлам.

Другое дело, влияет на производительность фрагментация составного файла.Размер составного файла определяется разницей между первым и последним участками диска, используемых файлом.Разделенный файл может содержать несколько областей свободного пространства, не содержащие данные, но при вычислении размера учитывается.Во время существования составного файла, эти области создаются вставкой или удалением объектов хранилища.

Использование формата нескольких файлов данных

После успешного создания приложения, которому принадлежит класс документа, унаследованный от COleDocument убедитесь, что этот конструктор вызывает EnableCompoundFile базовый документ.Когда мастер приложений создает приложения OLE-контейнер, вставлен данный вызов.

В справочнике программиста OLE см. в разделе IStream, IStorage и ILockBytes.

См. также

Ссылки

Класс COleStreamFile

Класс COleDocument

Основные понятия

Контейнеры

Контейнеры: Проблемы интерфейса пользователя