Класс IPersistStorageImpl
Этот класс реализует интерфейс IPersistStorage .
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
template <class T>
class ATL_NO_VTABLE IPersistStorageImpl : public IPersistStorage
Параметры
T
Класс, производный от IPersistStorageImpl
.
Участники
Открытые методы
Имя | Описание |
---|---|
IPersistStorageImpl::GetClassID | Извлекает CLSID объекта. |
IPersistStorageImpl::HandsOffStorage | Указывает объекту освободить все объекты хранилища и ввести режим HandsOff. Реализация ATL возвращает S_OK. |
IPersistStorageImpl::InitNew | Инициализирует новое хранилище. |
IPersistStorageImpl::IsDirty | Проверяет, изменились ли данные объекта с момента последнего сохранения. |
IPersistStorageImpl::Load | Загружает свойства объекта из указанного хранилища. |
IPersistStorageImpl::Save | Сохраняет свойства объекта в указанном хранилище. |
IPersistStorageImpl::SaveCompleted | Уведомляет объект о том, что он может вернуться в обычный режим для записи в объект хранилища. Реализация ATL возвращает S_OK. |
Замечания
IPersistStorageImpl
реализует интерфейс IPersistStorage, который позволяет клиенту запрашивать загрузку объекта и сохранять постоянные данные с помощью хранилища.
Реализация этого класса требует, чтобы класс T
был IPersistStreamInit
доступен через QueryInterface
интерфейс. Как правило, это означает, что класс T
должен быть производным от IPersistStreamInitImpl, предоставлять запись для IPersistStreamInit
карты COM и использовать карту свойств для описания постоянных данных класса.
Руководство по созданию проекта ATL в статьях ATL
Иерархия наследования
IPersistStorage
IPersistStorageImpl
Требования
Заголовок: atlcom.h
IPersistStorageImpl::GetClassID
Извлекает CLSID объекта.
STDMETHOD(GetClassID)(CLSID* pClassID);
Замечания
См . раздел IPersist::GetClassID в пакете SDK для Windows.
IPersistStorageImpl::HandsOffStorage
Указывает объекту освободить все объекты хранилища и ввести режим HandsOff.
STDMETHOD(HandsOffStorage)(void);
Возвращаемое значение
Возвращает S_OK.
Замечания
См. раздел IPersistStorage::HandsOffStorage в пакете SDK для Windows.
IPersistStorageImpl::InitNew
Инициализирует новое хранилище.
STDMETHOD(InitNew)(IStorage*);
Замечания
Реализация ATL делегирует интерфейсУ IPersistStreamInit .
См . раздел IPersistStorage:InitNew в пакете SDK для Windows.
IPersistStorageImpl::IsDirty
Проверяет, изменились ли данные объекта с момента последнего сохранения.
STDMETHOD(IsDirty)(void);
Замечания
Реализация ATL делегирует интерфейсУ IPersistStreamInit .
См . раздел IPersistStorage:IsDirty в пакете SDK для Windows.
IPersistStorageImpl::Load
Загружает свойства объекта из указанного хранилища.
STDMETHOD(Load)(IStorage* pStorage);
Замечания
Реализация ATL делегирует интерфейсУ IPersistStreamInit . Load
использует поток с именем "Содержимое" для получения данных объекта. Метод Save изначально создает этот поток.
См. раздел IPersistStorage:Load в пакете SDK для Windows.
IPersistStorageImpl::Save
Сохраняет свойства объекта в указанном хранилище.
STDMETHOD(Save)(IStorage* pStorage, BOOL fSameAsLoad);
Замечания
Реализация ATL делегирует интерфейсУ IPersistStreamInit . При Save
первом вызове он создает поток с именем "Содержимое" в указанном хранилище. Затем этот поток используется в последующих вызовах Save
и вызовах load.
См. раздел IPersistStorage:Save in the Windows SDK.
IPersistStorageImpl::SaveCompleted
Уведомляет объект о том, что он может вернуться в обычный режим для записи в объект хранилища.
STDMETHOD(SaveCompleted)(IStorage*);
Возвращаемое значение
Возвращает S_OK.
Замечания
См. раздел IPersistStorage:SaveCompleted в пакете SDK для Windows.
См. также
Хранилища и потоки
Класс IPersistStreamInitImpl
Класс IPersistPropertyBagImpl
Общие сведения о классе