Metode IDataObject::GetDataHere (objidl.h)
Dipanggil oleh konsumen data untuk mendapatkan data dari objek data sumber. Metode ini berbeda dari metode GetData karena pemanggil harus mengalokasikan dan membebaskan media penyimpanan yang ditentukan.
Sintaks
HRESULT GetDataHere(
[in] FORMATETC *pformatetc,
[in, out] STGMEDIUM *pmedium
);
Parameter
[in] pformatetc
Penunjuk ke struktur FORMATETC yang menentukan format, sedang, dan perangkat target untuk digunakan saat meneruskan data. Hanya satu media yang dapat ditentukan dalam tymed, dan hanya nilai berikut yang valid: TYMED_ISTORAGE, TYMED_ISTREAM, TYMED_HGLOBAL, atau TYMED_FILE.
[in, out] pmedium
Penunjuk ke struktur STGMEDIUM yang mendefinisikan media penyimpanan yang berisi data yang ditransfer. Media harus dialokasikan oleh penelepon dan diisi oleh GetDataHere. Pemanggil juga harus membebaskan media. Implementasi metode ini harus selalu menyediakan nilai NULL untuk anggota punkForRelease dari struktur STGMEDIUM tempat parameter ini menunjuk.
Menampilkan nilai
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 pformatetc tidak valid. |
|
Nilai tymed tidak valid. |
|
Nilai dwAspect tidak valid. |
|
Aplikasi objek tidak berjalan. |
|
Terjadi kesalahan saat mengalokasikan media. |
|
Terjadi kesalahan tidak terduga. |
|
Parameter dwDirection tidak valid. |
|
Tidak tersedia cukup memori untuk operasi ini. |
Keterangan
Metode GetDataHere mirip dengan IDataObject::GetData, kecuali bahwa pemanggil harus mengalokasikan dan membebaskan media yang ditentukan dalam pmedium. GetDataHere merender data yang dijelaskan dalam struktur FORMATETC dan menyalin data ke dalam struktur STGMEDIUM yang disediakan pemanggil. Misalnya, jika media TYMED_HGLOBAL, metode ini tidak dapat mengubah ukuran sedang atau mengalokasikan hGlobal baru.
Beberapa media tidak sesuai dalam panggilan ke GetDataHere, termasuk jenis GDI seperti metafiles. Metode GetDataHere tidak dapat memasukkan data ke dalam metafile yang disediakan pemanggil. Secara umum, satu-satunya media penyimpanan yang perlu didukung dalam metode ini adalah TYMED_ISTORAGE, TYMED_ISTREAM, dan TYMED_FILE.
Ketika media transfer adalah aliran, OLE membuat asumsi tentang di mana data dikembalikan dan posisi penunjuk pencarian aliran. Dalam panggilan GetData , data yang dikembalikan berasal dari posisi aliran nol hingga tepat sebelum penunjuk pencarian aliran saat ini (yaitu, posisi saat keluar). Untuk GetDataHere, data yang dikembalikan berasal dari posisi aliran saat masuk tepat sebelum posisi saat keluar.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk