IPersistStorageImpl Class

This class implements the IPersistStorage interface.

Important

This class and its members cannot be used in applications that execute in the Windows Runtime.

Syntax

template <class T>
class ATL_NO_VTABLE IPersistStorageImpl : public IPersistStorage

Parameters

T
Your class, derived from IPersistStorageImpl.

Members

Public Methods

Name Description
IPersistStorageImpl::GetClassID Retrieves the object's CLSID.
IPersistStorageImpl::HandsOffStorage Instructs the object to release all storage objects and enter HandsOff mode. The ATL implementation returns S_OK.
IPersistStorageImpl::InitNew Initializes a new storage.
IPersistStorageImpl::IsDirty Checks whether the object's data has changed since it was last saved.
IPersistStorageImpl::Load Loads the object's properties from the specified storage.
IPersistStorageImpl::Save Saves the object's properties to the specified storage.
IPersistStorageImpl::SaveCompleted Notifies an object that it can return to Normal mode to write to its storage object. The ATL implementation returns S_OK.

Remarks

IPersistStorageImpl implements the IPersistStorage interface, which allows a client to request that your object load and save its persistent data using a storage.

The implementation of this class requires class T to make an implementation of the IPersistStreamInit interface available via QueryInterface. Typically this means that class T should derive from IPersistStreamInitImpl, provide an entry for IPersistStreamInit in the COM map, and use a property map to describe the class's persistent data.

Related Articles ATL Tutorial, Creating an ATL Project

Inheritance Hierarchy

IPersistStorage

IPersistStorageImpl

Requirements

Header: atlcom.h

IPersistStorageImpl::GetClassID

Retrieves the object's CLSID.

STDMETHOD(GetClassID)(CLSID* pClassID);

Remarks

See IPersist::GetClassID in the Windows SDK.

IPersistStorageImpl::HandsOffStorage

Instructs the object to release all storage objects and enter HandsOff mode.

STDMETHOD(HandsOffStorage)(void);

Return Value

Returns S_OK.

Remarks

See IPersistStorage::HandsOffStorage in the Windows SDK.

IPersistStorageImpl::InitNew

Initializes a new storage.

STDMETHOD(InitNew)(IStorage*);

Remarks

The ATL implementation delegates to the IPersistStreamInit interface.

See IPersistStorage:InitNew in the Windows SDK.

IPersistStorageImpl::IsDirty

Checks whether the object's data has changed since it was last saved.

STDMETHOD(IsDirty)(void);

Remarks

The ATL implementation delegates to the IPersistStreamInit interface.

See IPersistStorage:IsDirty in the Windows SDK.

IPersistStorageImpl::Load

Loads the object's properties from the specified storage.

STDMETHOD(Load)(IStorage* pStorage);

Remarks

The ATL implementation delegates to the IPersistStreamInit interface. Load uses a stream named "Contents" to retrieve the object's data. The Save method originally creates this stream.

See IPersistStorage:Load in the Windows SDK.

IPersistStorageImpl::Save

Saves the object's properties to the specified storage.

STDMETHOD(Save)(IStorage* pStorage, BOOL fSameAsLoad);

Remarks

The ATL implementation delegates to the IPersistStreamInit interface. When Save is first called, it creates a stream named "Contents" on the specified storage. This stream is then used in later calls to Save and in calls to Load.

See IPersistStorage:Save in the Windows SDK.

IPersistStorageImpl::SaveCompleted

Notifies an object that it can return to Normal mode to write to its storage object.

STDMETHOD(SaveCompleted)(IStorage*);

Return Value

Returns S_OK.

Remarks

See IPersistStorage:SaveCompleted in the Windows SDK.

See also

Storages and Streams
IPersistStreamInitImpl Class
IPersistPropertyBagImpl Class
Class Overview