Bagikan melalui


Fungsi panggilan balik EDITSTREAMCALLBACK (richedit.h)

Fungsi EditStreamCallback adalah fungsi panggilan balik yang ditentukan aplikasi yang digunakan dengan pesan EM_STREAMIN dan EM_STREAMOUT. Ini digunakan untuk mentransfer aliran data ke atau di luar kontrol edit yang kaya. Jenis EDITSTREAMCALLBACK menentukan penunjuk ke fungsi panggilan balik ini. EditStreamCallback adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.

Sintaksis

EDITSTREAMCALLBACK Editstreamcallback;

DWORD Editstreamcallback(
  [in] DWORD_PTR dwCookie,
  [in] LPBYTE pbBuff,
  [in] LONG cb,
  [in] LONG *pcb
)
{...}

Parameter

[in] dwCookie

Jenis: DWORD_PTR

Nilai dwCookie anggota struktur EDITSTREAM. Aplikasi menentukan nilai ini ketika mengirim pesan EM_STREAMIN atau EM_STREAMOUT.

[in] pbBuff

Jenis: LPBYTE

Arahkan ke buffer untuk membaca dari atau menulis ke. Untuk operasi stream-in (baca), fungsi panggilan balik mengisi buffer ini dengan data untuk ditransfer ke kontrol edit yang kaya. Untuk operasi stream-out (tulis), buffer berisi data dari kontrol yang ditulis fungsi panggilan balik ke beberapa penyimpanan.

[in] cb

Jenis: LONG

Jumlah byte yang akan dibaca atau ditulis.

[in] pcb

Jenis: LONG

Penunjuk ke variabel yang diatur fungsi panggilan balik ke jumlah byte yang benar-benar dibaca atau ditulis.

Mengembalikan nilai

Jenis: DWORD

Fungsi panggilan balik mengembalikan nol untuk menunjukkan keberhasilan.

Fungsi panggilan balik mengembalikan nilai bukan nol untuk menunjukkan kesalahan. Jika terjadi kesalahan, operasi baca atau tulis berakhir dan kontrol edit kaya membuang data apa pun di pbBuff buffer. Jika fungsi panggilan balik mengembalikan nilai bukan nol, kontrol edit kaya menggunakan dwError anggota struktur EDITSTREAM untuk meneruskan nilai kembali ke aplikasi.

Komentar

Saat Anda mengirim pesan EM_STREAMIN atau EM_STREAMOUT ke kontrol edit yang kaya, pfnCallback anggota struktur EDITSTREAM menentukan penunjuk ke fungsi EditStreamCallback . Kontrol edit kaya berulang kali memanggil fungsi untuk mentransfer aliran data ke atau di luar kontrol.

Saat mengirim pesan EM_STREAMIN atau EM_STREAMOUT, Anda menentukan nilai untuk dwCookie anggota struktur EDITSTREAM. Kontrol edit kaya menggunakan parameter dwCookie untuk meneruskan nilai ini ke fungsi EditStreamCallback Anda. Misalnya, Anda dapat menggunakan dwCookie untuk meneruskan handel ke file yang terbuka. Fungsi panggilan balik kemudian dapat menggunakan handel dwCookie untuk membaca dari atau menulis ke file.

Kontrol memanggil fungsi panggilan balik berulang kali, mentransfer sebagian data dengan setiap panggilan. Kontrol terus memanggil fungsi panggilan balik hingga salah satu kondisi berikut terjadi:

  • Fungsi panggilan balik mengembalikan nilai bukan nol.
  • Fungsi panggilan balik mengembalikan nol dalam parameter pcb * .
  • Terjadi kesalahan yang mencegah kontrol edit yang kaya mentransfer data ke dalam atau dari dirinya sendiri. Contohnya adalah situasi di luar memori, kegagalan fungsi sistem, atau karakter yang tidak valid dalam buffer baca.
  • Untuk operasi stream-in, kode RTF berisi data yang menentukan akhir blok RTF.
  • Untuk operasi stream-in pada kontrol edit baris tunggal, panggilan balik dibaca dalam karakter akhir paragraf (CR, LF, VT, LS, atau PS).

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Platform Target Windows
Header richedit.h

Lihat juga

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

Referensi