共用方式為


IPersistStreamInit::Save 方法 (ocidl.h)

儲存物件到指定資料流。

語法

HRESULT Save(
  [in] LPSTREAM pStm,
  [in] BOOL     fClearDirty
);

參數

[in] pStm

資料流程的 IStream 指標,應該在其中儲存物件。

[in] fClearDirty

指出儲存完成之後,是否要清除變更旗標。 如果 為 TRUE,則應該清除旗標。 如果 為 FALSE,則旗標應該保持不變。

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
已成功完成命令。
STG_E_CANTSAVE
物件無法將本身儲存至資料流程。 例如,此錯誤可能表示物件包含無法序列化至資料流程的另一個物件,或 ISequentialStream::Write 呼叫傳回STG_E_CANTSAVE。
STG_E_MEDIUMFULL
無法儲存物件,因為儲存裝置上沒有剩餘的空間。

備註

IPersistStreamInit::Save 會將物件儲存至指定的資料流程,並指出物件是否應該重設其中途旗標。

搜尋指標位於資料流程中,物件應該開始寫入其資料的位置。 物件會呼叫 ISequentialStream::Write 方法來寫入其資料。

結束時,搜尋指標必須緊接在物件資料之後。 如果錯誤傳回,則搜尋指標的位置是未定義的。

實作者的注意事項

IPersistStreamInit::Save方法不會將 CLSID 寫入資料流程。 呼叫端負責撰寫 CLSID。

IPersistStreamInit::Save方法可以從資料流程中讀取、寫入和搜尋;但是它不得在專案上的搜尋指標之前,搜尋資料流程中的位置。

需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 ocidl.h

另請參閱

IPersistStreamInit