Bagikan melalui


Metode IDataObject::SetData (objidl.h)

Dipanggil oleh objek yang berisi sumber data untuk mentransfer data ke objek yang mengimplementasikan metode ini.

Sintaks

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

Parameter

[in] pformatetc

Penunjuk ke struktur FORMATETC yang menentukan format yang digunakan oleh objek data saat menginterpretasikan data yang terkandung dalam media penyimpanan.

[in] pmedium

Penunjuk ke struktur STGMEDIUM yang menentukan media penyimpanan tempat data diteruskan.

[in] fRelease

Jika TRUE, objek data yang dipanggil, yang mengimplementasikan SetData, memiliki media penyimpanan setelah panggilan kembali. Ini berarti harus membebaskan media setelah digunakan dengan memanggil fungsi ReleaseStgMedium . Jika FALSE, penelepon mempertahankan kepemilikan media penyimpanan dan objek data yang disebut menggunakan media penyimpanan selama panggilan saja.

Menampilkan nilai

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

Menampilkan kode Deskripsi
DV_E_LINDEX
Nilai tidak valid untuk lindex; saat ini, hanya -1 yang didukung.
DV_E_FORMATETC
Nilai untuk pformatetc tidak valid.
DV_E_TYMED
Nilai tymed tidak valid.
DV_E_DVASPECT
Nilai dwAspect tidak valid.
OLE_E_NOTRUNNING
Aplikasi objek tidak berjalan.
E_FAIL
Operasi gagal.
E_UNEXPECTED
Terjadi kesalahan tidak terduga.
E_INVALIDARG
Nilai dwDirection tidak valid.
E_OUTOFMEMORY
Tidak tersedia cukup memori untuk operasi ini.

Keterangan

SetData memungkinkan objek lain untuk mencoba mengirim data ke objek data penerapan. Objek data menerapkan metode ini jika mendukung penerimaan data dari objek lain. Jika tidak mendukung ini, harus diimplementasikan untuk mengembalikan E_NOTIMPL.

Penelepon mengalokasikan media penyimpanan yang ditunjukkan oleh parameter pmedium , tempat data diteruskan. Objek data yang disebut tidak mengambil kepemilikan data sampai berhasil menerimanya dan tidak ada kode kesalahan yang dikembalikan. Nilai parameter fRelease menunjukkan kepemilikan media setelah panggilan kembali. FALSE menunjukkan penelepon masih memiliki media, dan objek data hanya memiliki penggunaannya selama panggilan; TRUE menunjukkan bahwa objek data sekarang memilikinya dan harus merilisnya ketika tidak lagi diperlukan.

Jenis media yang ditentukan dalam parameter pformatetc dan pmedium harus sama. Misalnya, seseorang tidak dapat menjadi handel global dan yang lain aliran.

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

IDataObject