Bagikan melalui


Metode IPersistFile::IsDirty (objidl.h)

Menentukan apakah objek telah berubah sejak terakhir kali disimpan ke file saat ini.

Sintaks

HRESULT IsDirty();

Mengembalikan nilai

Metode ini mengembalikan S_OK untuk menunjukkan bahwa objek telah berubah. Jika tidak, ia menampilkan S_FALSE.

Keterangan

Gunakan metode ini untuk menentukan apakah objek harus disimpan sebelum menutupnya. Bendera kotor untuk objek dibersihkan secara kondisional dalam metode IPersistFile::Save .

Catatan untuk Penelepon

OLE tidak memanggil IsDirty. Aplikasi tidak akan memanggilnya kecuali mereka juga menyimpan objek ke file.

Anda harus memperlakukan kode pengembalian kesalahan sebagai indikasi bahwa objek telah berubah. Kecuali metode ini secara eksplisit mengembalikan S_FALSE, asumsikan bahwa objek harus disimpan.

Catatan untuk Pelaksana

Objek tanpa objek yang terkandung hanya memeriksa bendera kotornya untuk mengembalikan hasil yang sesuai.

Kontainer dengan satu atau beberapa objek yang terkandung harus mempertahankan bendera kotor internal yang diatur ketika salah satu objek yang terkandung telah berubah sejak terakhir disimpan. Untuk melakukan ini, kontainer harus mempertahankan sink saran dengan mengimplementasikan antarmuka IAdviseSink . Kemudian, kontainer dapat mendaftarkan setiap tautan atau menyematkan pemberitahuan perubahan data dengan panggilan ke IDataObject::D Advise. Kemudian, kontainer dapat mengatur bendera kotor internalnya saat menerima pemberitahuan IAdviseSink::OnDataChange . Jika kontainer tidak mendaftar untuk pemberitahuan perubahan data, implementasi IPersistFile::IsDirty akan memanggil IPersistStorage::IsDirty untuk setiap objek yang terkandung untuk menentukan apakah mereka telah berubah.

Kontainer dapat menghapus bendera kotornya setiap kali disimpan, selama file tempat objek disimpan adalah file kerja saat ini setelah penyimpanan. Oleh karena itu, bendera kotor akan dihapus setelah operasi Simpan atau Simpan Sebagai berhasil, tetapi tidak setelah operasi Simpan Salinan Sebagai . . .

Persyaratan

Persyaratan Nilai
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

IAdviseSink::OnDataChange

IDataObject::D Advise

IPersistFile