Bagikan melalui


IOleCache::Metode cache (oleidl.h)

Menentukan format dan data lain yang akan di-cache di dalam objek yang disematkan.

Sintaks

HRESULT Cache(
  [in]  FORMATETC *pformatetc,
  [in]  DWORD     advf,
  [out] DWORD     *pdwConnection
);

Parameter

[in] pformatetc

Penunjuk ke struktur FORMATETC yang menentukan format dan data lain yang akan di-cache. Penembolokan tampilan ditentukan dengan meneruskan format clipboard nol dalam pformatetc.

[in] advf

Sekelompok bendera yang mengontrol penembolokan. Nilai yang mungkin berasal dari enumerasi ADVF . Saat digunakan dalam konteks ini, untuk cache, nilai-nilai ini memiliki arti khusus, yang diuraikan dalam Keterangan. Lihat enumerasi ADVF untuk deskripsi yang lebih rinci.

[out] pdwConnection

Penunjuk ke variabel yang menerima pengidentifikasi koneksi ini, yang nantinya dapat digunakan untuk menonaktifkan penembolokan (dengan meneruskannya ke IOleCache::Uncache). Jika nilai ini adalah 0, koneksi tidak dibuat. Implementasi yang disediakan OLE menggunakan angka bukan nol untuk pengidentifikasi koneksi.

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Nilai pengembalian lain yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
E_INVALIDARG
Argumen pformatetc atau advf yang disediakan tidak valid.
E_UNEXPECTED
Terjadi kesalahan tidak terduga.
E_OUTOFMEMORY
Tidak cukup memori yang tersedia untuk operasi.
CACHE_S_FORMATETC_NOTSUPPORTED
Cache dibuat, tetapi aplikasi objek tidak mendukung format yang ditentukan. Pembuatan cache berhasil meskipun format tidak didukung, memungkinkan pemanggil untuk mengisi cache. Namun, jika penelepon tidak perlu menyimpan cache, hubungi IOleCache::Uncache.
CACHE_S_SAMECACHE
Cache sudah ada untuk FORMATETC yang diteruskan ke IOleCache::Uncache. Dalam hal ini, bendera saran baru ditetapkan ke cache, dan pengidentifikasi koneksi yang ditetapkan sebelumnya dikembalikan.
DV_E_LINDEX
Nilai tidak valid untuk pformatetc-lindex>; saat ini hanya -1 yang didukung.
DV_E_TYMED
Nilai tidak valid untuk pformatetc-tymed>.
DV_E_DVASPECT
Nilai tidak valid untuk pformatetc-dwAspect>.
DV_E_CLIPFORMAT
Nilai tidak valid untuk pformatetc-cfFormat>.
CO_E_NOTINITIALIZED
Penyimpanan cache tidak diinisialisasi.
DV_E_DVTARGETDEVICE
Nilai tidak valid untuk pformatetc-->ptd.
OLE_E_STATIC
Cache adalah untuk objek statis dan sudah memiliki simpul cache.

Keterangan

IOleCache::Cache dapat menentukan penembolokan data atau melihat (presentasi) penembolokan. Untuk menentukan penembolokan data, format data yang valid harus diteruskan dalam pformatetc. Untuk melihat penembolokan, objek cache itu sendiri memutuskan format ke cache, sehingga penelepon akan meneruskan format data nol dalam pformatetc sebagai berikut:

pFormatetc->cfFormat == 0

Handler objek kustom dapat memilih untuk tidak menyimpan data dalam format tertentu. Sebaliknya, itu dapat mensintesisnya sesuai permintaan ketika diminta.

Nilai advf menentukan anggota enumerasi ADVF . Ketika salah satu nilai ini (atau kombinasi OR dari lebih dari satu nilai) digunakan dalam konteks ini, nilai-nilai ini berarti sebagai berikut.

Nilai ADVF Deskripsi
ADVF_NODATA Singgahan tidak akan diperbarui oleh perubahan yang dilakukan pada objek yang sedang berjalan. Sebagai gantinya, kontainer akan memperbarui cache dengan secara eksplisit memanggil IOleCache::SetData, IDataObject::SetData, atau IOleCache2::UpdateCache. Bendera ini biasanya digunakan ketika aspek ikonik objek sedang di-cache.
ADVF_ONLYONCE Perbarui cache satu kali saja. Setelah pembaruan selesai, koneksi saran antara objek dan cache terputus. Objek sumber untuk koneksi penasihat memanggil metode Rilis .
ADVF_PRIMEFIRST Objek tidak menunggu data atau tampilan berubah sebelum memperbarui cache. OR'd dengan ADVF_ONLYONCE, parameter ini menyediakan panggilan IDataObject::GetData asinkron.
ADVFCACHE_NOHANDLER Sinonim untuk ADVFCACHE_FORCEBUILTIN.
ADVFCACHE_FORCEBUILTIN Digunakan oleh aplikasi objek DLL dan penangan objek yang menggambar objek mereka untuk menyimpan data presentasi untuk memastikan bahwa ada presentasi di cache. Ini memastikan bahwa data dapat diambil bahkan ketika objek atau kode handler tidak tersedia.
ADVFCACHE_ONSAVE Updates representasi cache hanya ketika objek yang berisi cache disimpan. Cache juga diperbarui ketika objek OLE berubah dari status berjalan kembali ke status dimuat (karena operasi penyimpanan berikutnya akan memerlukan menjalankan objek lagi).

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 oleidl.h

Lihat juga

IOleCache

IOleCache::Uncache