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


Интерфейс IPersistStream (objidl.h)

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

Наследование

Интерфейс IPersistStream наследуется от IPersist. IPersistStream также имеет следующие типы элементов:

Методы

Интерфейс IPersistStream содержит следующие методы.

 
IPersistStream::GetSizeMax

Извлекает размер потока, необходимый для сохранения объекта. (IPersistStream.GetSizeMax)
IPersistStream::IsDirty

Определяет, изменился ли объект с момента последнего сохранения в потоке. (IPersistStream.IsDirty)
IPersistStream::Load

Инициализирует объект из потока, в котором он был сохранен ранее. (IPersistStream.Load)
IPersistStream::Save

Сохраняет объект в указанном потоке. (IPersistStream.Save)

Комментарии

Один из способов использования этого интерфейса — поддержка реализаций моникера OLE. Каждый из интерфейсов моникера, предоставляемых OLE, предоставляет реализацию IPersistStream , с помощью которой моникер сохраняет или загружает себя. Экземпляр универсального составного моникера OLE вызывает методы IPersistStream своих моникеров компонентов для загрузки или сохранения компонентов в правильной последовательности в одном потоке.

Реализация моникера URL-адреса IPersistStream

Реализация моникера URL-адреса IPersistStream находится в объекте моникера URL, который поддерживает IUnknown, IAsyncMoniker и IMoniker. Интерфейс IMoniker наследует свое определение от IPersistStream , поэтому моникер URL-адреса также предоставляет реализацию IPersistStream в рамках реализации IMoniker.

Интерфейс IAsyncMoniker в моникере URL-адреса — это просто IUnknown (дополнительные методы отсутствуют); он позволяет клиентам определять, поддерживает ли моникер асинхронную привязку. Чтобы получить указатель на интерфейс IMoniker для этого объекта, вызовите функцию CreateURLMonikerEx . Затем, чтобы получить указатель на IPersistStream, вызовите метод QueryInterface .

IPersistStream, помимо наследования своего определения от IUnknown, также наследует один метод IPersist, GetClassID.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header objidl.h

См. также раздел

IMoniker

IPersistStreamInit