Metode IDataObject::GetData (objidl.h)
Dipanggil oleh konsumen data untuk mendapatkan data dari objek data sumber. Metode GetData merender data yang dijelaskan dalam struktur FORMATETC yang ditentukan dan mentransfernya melalui struktur STGMEDIUM yang ditentukan. Pemanggil kemudian bertanggung jawab untuk merilis struktur STGMEDIUM .
Sintaks
HRESULT GetData(
[in] FORMATETC *pformatetcIn,
[out] STGMEDIUM *pmedium
);
Parameter
[in] pformatetcIn
Penunjuk ke struktur FORMATETC yang menentukan format, sedang, dan perangkat target untuk digunakan saat meneruskan data. Dimungkinkan untuk menentukan lebih dari satu media dengan menggunakan operator Boolean OR, memungkinkan metode untuk memilih media terbaik di antara yang ditentukan.
[out] pmedium
Pointer ke struktur STGMEDIUM yang menunjukkan media penyimpanan yang berisi data yang dikembalikan melalui anggota tymed-nya, dan tanggung jawab untuk melepaskan media melalui nilai anggota pUnkForRelease - nya. Jika pUnkForRelease adalah NULL, penerima media bertanggung jawab untuk merilisnya; jika tidak, pUnkForRelease menunjuk ke IUnknown pada objek yang sesuai sehingga metode Rilisnya dapat dipanggil. Media harus dialokasikan dan diisi oleh GetData.
Nilai kembali
Metode ini mengembalikan S_OK pada keberhasilan. Nilai lain yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Nilai untuk lindex tidak valid; saat ini, hanya -1 yang didukung. |
|
Nilai untuk pformatetcIn tidak valid. |
|
Nilai tymed tidak valid. |
|
Nilai dwAspect tidak valid. |
|
Aplikasi objek tidak berjalan. |
|
Terjadi kesalahan saat mengalokasikan media. |
|
Terjadi kesalahan tidak terduga. |
|
Nilai dwDirection tidak valid. |
|
Tidak tersedia cukup memori untuk operasi ini. |
Keterangan
Konsumen data memanggil GetData untuk mengambil data dari objek data, yang disampaikan melalui media penyimpanan (didefinisikan melalui struktur STGMEDIUM ).
Catatan untuk Penelepon
Anda dapat menentukan lebih dari satu media tymed yang dapat diterima dengan operator BOolean OR. GetData harus memilih dari nilai OR media yang paling mewakili data, melakukan alokasi, dan menunjukkan tanggung jawab untuk melepaskan media.Data yang ditransfer di seluruh aliran meluas dari posisi nol penunjuk aliran ke posisi segera sebelum penunjuk aliran saat ini (yaitu, posisi penunjuk aliran saat keluar).
Catatan untuk Pelaksana
GetData harus memeriksa semua bidang dalam struktur FORMATETC . Penting bahwa GetData merender aspek yang diminta dan, jika memungkinkan, gunakan media yang diminta. Jika objek data tidak dapat mematuhi informasi yang ditentukan dalam FORMATETC, metode harus mengembalikan DV_E_FORMATETC. Jika upaya untuk mengalokasikan media gagal, metode harus mengembalikan STG_E_MEDIUMFULL. Penting untuk mengisi semua bidang dalam struktur STGMEDIUM .Meskipun penelepon dapat menentukan lebih dari satu media untuk mengembalikan data, GetData hanya dapat menyediakan satu media. Jika transfer awal gagal dengan media yang dipilih, metode ini dapat diimplementasikan untuk mencoba salah satu media lain yang ditentukan sebelum mengembalikan kesalahan.
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 |