這個類別會實作 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 | 通知物件可以返回 Normal 模式以寫入其儲存物件。 ATL 實作會傳回S_OK。 |
備註
IPersistStorageImpl 會 實作 IPersistStorage 介面,這可讓用戶端要求您的物件載入,並使用記憶體儲存其永續性數據。
這個類別的實作需要 類別T,才能透過 IPersistStreamInit取得介面的實作QueryInterface。 這通常表示類別T應該衍生自 IPersistStreamInitImpl、在 COM 對應中提供的專案IPersistStreamInit,並使用屬性對應來描述類別的持續性數據。
繼承階層架構
IPersistStorage
IPersistStorageImpl
需求
標頭: atlcom.h
IPersistStorageImpl::GetClassID
擷取物件的 CLSID。
STDMETHOD(GetClassID)(CLSID* pClassID);
備註
請參閱 Windows SDK 中的 IPersist::GetClassID 。
IPersistStorageImpl::HandsOffStorage
指示物件釋放所有儲存物件並進入 HandsOff 模式。
STDMETHOD(HandsOffStorage)(void);
傳回值
傳回S_OK。
備註
請參閱 Windows SDK 中的 IPersistStorage::HandsOffStorage 。
IPersistStorageImpl::InitNew
初始化新的記憶體。
STDMETHOD(InitNew)(IStorage*);
備註
ATL 實作會委派給 IPersistStreamInit 介面。
請參閱 Windows SDK 中的 IPersistStorage::InitNew 。
IPersistStorageImpl::IsDirty
檢查對象的數據自上次儲存后是否已變更。
STDMETHOD(IsDirty)(void);
備註
ATL 實作會委派給 IPersistStreamInit 介面。
請參閱 Windows SDK 中的 IPersistStorage::IsDirty 。
IPersistStorageImpl::Load
從指定的記憶體載入物件的屬性。
STDMETHOD(Load)(IStorage* pStorage);
備註
ATL 實作會委派給 IPersistStreamInit 介面。
Load 會使用名為 「Contents」 的數據流來擷取對象的數據。 Save 方法原本會建立此數據流。
請參閱 Windows SDK 中的 IPersistStorage::Load 。
IPersistStorageImpl::Save
將物件的屬性儲存至指定的記憶體。
STDMETHOD(Save)(IStorage* pStorage, BOOL fSameAsLoad);
備註
ATL 實作會委派給 IPersistStreamInit 介面。 第一次呼叫 時 Save ,它會在指定的記憶體上建立名為 「Contents」 的數據流。 接著,此數據流會用於稍後對 Save 和呼叫Load的呼叫。
請參閱 Windows SDK 中的 IPersistStorage::Save 。
IPersistStorageImpl::SaveCompleted
通知物件可以返回 Normal 模式以寫入其儲存物件。
STDMETHOD(SaveCompleted)(IStorage*);
傳回值
傳回S_OK。
備註
請參閱 Windows SDK 中的 IPersistStorage::SaveCompleted 。
另請參閱
記憶體和串流
IPersistStreamInitImpl 類別
IPersistPropertyBagImpl 類別
類別概觀