Fungsi OleCreateStaticFromData (ole2.h)
Membuat objek statis, yang hanya berisi representasi, tanpa data asli, dari objek transfer data.
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 |