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


Характеристики производительности

Вызов реализации com-составного файла интерфейса IPropertySetStorage для создания набора свойств приводит к созданию потока или хранилища путем вызова IStorage::CreateStream или IStorage::CreateStorage::CreateStorage. Набор свойств по умолчанию создается в памяти, но не сбрасывается на диск. При вызове IPropertyStorage::WriteMultipleон работает в буфере.

При открытии набора свойств используется IStorage::OpenStream или IStorage::OpenStorage. Весь поток набора свойств считывается в непрерывную память. операции IPropertyStorage::ReadMultiple считывание буфера памяти. Поэтому первый доступ является дорогостоящим с точки зрения времени (из-за операций чтения диска), но последующие доступы очень эффективны. Операции записи могут быть немного дороже, так как операции SetSize в базовом потоке могут потребоваться, чтобы гарантировать доступность места на диске при добавлении данных.

Никаких гарантий не гарантируется, будет ли IPropertyStorage::WriteMultiple получать обновления. Как правило, клиент должен предположить, что IPropertyStorage::WriteMultiple обновляет только буфер памяти. Чтобы очистить данные, необходимо вызвать IPropertyStorage::Commit или IUnknown::Release (последний выпуск).

Это означает, что WriteMultiple могут успешно выполняться, но данные на самом деле не записываются постоянно.

Заметка

Этот размер потока набора свойств не может превышать 256 КБ.