IPersistStream::Save 方法 (objidl.h)
儲存物件到指定資料流。
語法
HRESULT Save(
[in] IStream *pStm,
[in] BOOL fClearDirty
);
參數
[in] pStm
資料流程的 IStream 指標,應該在其中儲存物件。
[in] fClearDirty
指出儲存完成之後,是否要清除變更旗標。 如果 為 TRUE,則應該清除旗標。 如果 為 FALSE,則旗標應該保持不變。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
物件無法將本身儲存至資料流程。 例如,此錯誤可能表示物件包含無法序列化至資料流程的另一個物件,或 ISequentialStream::Write 呼叫傳回STG_E_CANTSAVE。 |
|
無法儲存物件,因為儲存裝置上沒有剩餘的空間。 |
備註
IPersistStream::Save 會將物件儲存至指定的資料流程,並指出物件是否應該重設其中途旗標。
搜尋指標位於資料流程中,物件應該開始寫入其資料的位置。 物件會呼叫 ISequentialStream::Write 方法來寫入其資料。
結束時,搜尋指標必須緊接在物件資料之後。 如果錯誤傳回,則搜尋指標的位置是未定義的。
來電者附注
您通常會呼叫執行下列動作的OleSaveToStream協助程式函式,而不是直接呼叫IPersistStream::Save:- 呼叫 GetClassID 以取得物件的 CLSID。
- 呼叫 WriteClassStm 函式,將物件的 CLSID 寫入資料流程。
- 呼叫 IPersistStream::Save。
IPersistStream的 OLE 提供實作遵循這個相同的模式。
實作者的注意事項
IPersistStream::Save方法不會將 CLSID 寫入資料流程。 呼叫端負責撰寫 CLSID。IPersistStream::Save方法可以從資料流程中讀取、寫入和搜尋;但是它不得在專案上的搜尋指標之前,搜尋資料流程中的位置。
URL Moniker 附注
將 URL Moniker 儲存至資料流程。 URL Moniker 的二進位格式是其在 Unicode 中的 URL 字串, (可能是完整或部分 URL 字串,如需詳細資料) ,請參閱 CreateURLMonikerEx 。 這會以 ULONG 字元計數來表示,後面接著許多 Unicode 字元。需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | objidl.h |