Bagikan melalui


Fungsi OleCreateStaticFromData (ole2.h)

Membuat objek statis, yang hanya berisi representasi, tanpa data asli, dari objek transfer data.

Catatan Fungsi konversi OLESTREAM ke IStorage juga mengonversi objek statis.
 

Sintaks

HRESULT OleCreateStaticFromData(
  [in]  LPDATAOBJECT    pSrcDataObj,
  [in]  REFIID          iid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     pFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

Parameter

[in] pSrcDataObj

Arahkan ke antarmuka IDataObject pada objek transfer data yang menyimpan data tempat objek akan dibuat.

[in] iid

Referensi ke pengidentifikasi antarmuka tempat pemanggil berkomunikasi dengan objek baru (biasanya IID_IOleObject, yang didefinisikan dalam header OLE sebagai pengidentifikasi antarmuka untuk IOleObject).

[in] renderopt

Nilai dari enumerasi OLERENDER yang menunjukkan kemampuan gambar atau pengambilan data yang di-cache secara lokal yang diinginkan kontainer di komponen yang baru dibuat. Ini adalah kesalahan untuk meneruskan opsi render OLERENDER_NONE atau OLERENDER_ASIS ke fungsi ini.

[in] pFormatEtc

Bergantung pada bendera OLERENDER mana yang digunakan sebagai nilai renderopt, mungkin penunjuk ke salah satu nilai enumerasi FORMATETC . Lihat enumerasi OLERENDER untuk pembatasan.

[in] pClientSite

Arahkan ke instans IOleClientSite, antarmuka utama tempat objek akan meminta layanan dari kontainernya. Parameter ini bisa NULL.

[in] pStg

Arahkan ke antarmuka IStorage untuk penyimpanan objek. Parameter ini tidak boleh NULL.

[out] ppvObj

Alamat variabel pointer yang menerima pointer antarmuka yang diminta dalam riid. Setelah berhasil kembali, *ppvObj berisi penunjuk antarmuka yang diminta pada objek yang baru dibuat.

Nilai kembali

Fungsi ini mengembalikan S_OK pada keberhasilan.

Keterangan

Fungsi OleCreateStaticFromData dapat mengonversi objek apa pun, selama menyediakan antarmuka IDataObject , ke objek statis. Ini berguna dalam mengimplementasikan opsi Konversi Ke Gambar untuk penautan atau penyematan OLE.

Objek statis hanya dapat dibuat jika sumber mendukung salah satu format clipboard yang dirender OLE: CF_METAFILEPICT, CF_DIB, atau CF_ BITMAP, dan CF_ENHMETAFILE.

Anda juga dapat memanggil OleCreateStaticFromData untuk menempelkan objek statis dari clipboard. Untuk menentukan apakah objek statis, panggil fungsi OleQueryCreateFromData , yang mengembalikan OLE_S_STATIC jika salah satu CF_METAFILEPICT, CF_DIB, CF_BITMAP, atau CF_ENHMETAFILE ada dan format OLE tidak ada. Ini menunjukkan bahwa Anda harus memanggil OleCreateStaticFromData daripada fungsi OleCreateFromData untuk membuat objek.

Objek statis baru adalah CLSID_StaticMetafile kelas dalam kasus CF_METAFILEPICT, CLSID_StaticDib dalam kasus CF_DIB atau CF_BITMAP, atau CLSID_Picture_EnhMetafile dalam kasus CF_ENHMETAFILE. Objek statis mengatur bit OLEMISC_STATIC dan OLE_CANTLINKINSIDE yang dikembalikan dari IOleObject::GetMiscStatus. Objek statis akan memiliki aspek DVASPECT_CONTENT dan LINDEX -1.

pSrcDataObject masih valid setelah OleCreateStaticFromData kembali. Pemanggil bertanggung jawab untuk membebaskan pSrcDataObject - OLE tidak merilisnya.

Tidak boleh ada lebih dari satu aliran presentasi dalam objek statis.

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 ole2.h
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

OleCreateFromData