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