Bagikan melalui


IPersistStream::Simpan metode (objidl.h)

Menyimpan objek ke aliran yang ditentukan.

Sintaks

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

Parameter

[in] pStm

Penunjuk IStream ke aliran tempat objek harus disimpan.

[in] fClearDirty

Menunjukkan apakah akan menghapus bendera kotor setelah penyimpanan selesai. Jika TRUE, bendera harus dibersihkan. Jika FALSE, bendera harus dibiarkan tidak berubah.

Mengembalikan nilai

Metode ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
STG_E_CANTSAVE
Objek tidak dapat menyimpan dirinya ke aliran. Kesalahan ini dapat menunjukkan, misalnya, bahwa objek berisi objek lain yang tidak dapat diserialisasikan ke aliran atau bahwa panggilan ISequentialStream::Write dikembalikan STG_E_CANTSAVE.
STG_E_MEDIUMFULL
Objek tidak dapat disimpan karena tidak ada ruang yang tersisa pada perangkat penyimpanan.

Keterangan

IPersistStream::Save menyimpan objek ke aliran yang ditentukan dan menunjukkan apakah objek harus mengatur ulang bendera kotornya.

Penunjuk pencarian diposisikan di lokasi di aliran tempat objek harus mulai menulis datanya. Objek memanggil metode ISequentialStream::Write untuk menulis datanya.

Saat keluar, penunjuk pencarian harus diposisikan segera melewati data objek. Posisi penunjuk pencarian tidak terdefinisi jika kesalahan kembali.

Catatan untuk Penelepon

Daripada memanggil IPersistStream::Save secara langsung, Anda biasanya memanggil fungsi pembantu OleSaveToStream yang melakukan hal berikut:
  1. Memanggil GetClassID untuk mendapatkan CLSID objek.
  2. Memanggil fungsi WriteClassStm untuk menulis CLSID objek ke aliran.
  3. Memanggil IPersistStream::Save.
Jika Anda memanggil metode ini secara langsung, Anda dapat menulis data lain ke aliran setelah CLSID sebelum memanggil IPersistStream::Save.

Implementasi IPersistStream yang disediakan OLE mengikuti pola yang sama ini.

Catatan untuk Pelaksana

Metode IPersistStream::Save tidak menulis CLSID ke aliran. Penelepon bertanggung jawab untuk menulis CLSID.

Metode IPersistStream::Save dapat membaca dari, menulis ke, dan mencari di aliran; tetapi tidak boleh mencari lokasi di aliran sebelum penunjuk pencarian pada entri.

Catatan Moniker URL

Menyimpan moniker URL ke aliran. Format biner url moniker adalah string URL-nya di Unicode (mungkin string URL lengkap atau parsial, lihat CreateURLMonikerEx untuk detailnya). Ini direpresentasikan sebagai jumlah karakter ULONG diikuti oleh banyak karakter Unicode.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header objidl.h

Lihat juga

IPersistStream