IPersistStreamInit::Save 方法 (ocidl.h)
儲存物件到指定資料流。
語法
HRESULT Save(
[in] LPSTREAM pStm,
[in] BOOL fClearDirty
);
參數
[in] pStm
資料流程的 IStream 指標,應該在其中儲存物件。
[in] fClearDirty
指出儲存完成之後,是否要清除變更旗標。 如果 為 TRUE,則應該清除旗標。 如果 為 FALSE,則旗標應該保持不變。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
物件無法將本身儲存至資料流程。 例如,此錯誤可能表示物件包含無法序列化至資料流程的另一個物件,或 ISequentialStream::Write 呼叫傳回STG_E_CANTSAVE。 |
|
無法儲存物件,因為儲存裝置上沒有剩餘的空間。 |
備註
IPersistStreamInit::Save 會將物件儲存至指定的資料流程,並指出物件是否應該重設其中途旗標。
搜尋指標位於資料流程中,物件應該開始寫入其資料的位置。 物件會呼叫 ISequentialStream::Write 方法來寫入其資料。
結束時,搜尋指標必須緊接在物件資料之後。 如果錯誤傳回,則搜尋指標的位置是未定義的。
實作者的注意事項
IPersistStreamInit::Save方法不會將 CLSID 寫入資料流程。 呼叫端負責撰寫 CLSID。IPersistStreamInit::Save方法可以從資料流程中讀取、寫入和搜尋;但是它不得在專案上的搜尋指標之前,搜尋資料流程中的位置。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | ocidl.h |