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 dalam 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.

Sintaks

EDITSTREAMCALLBACK Editstreamcallback;

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

Parameter

[in] dwCookie

Jenis: DWORD_PTR

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

[in] pbBuff

Jenis: LPBYTE

Arahkan ke buffer untuk dibaca atau ditulis. 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 untuk dibaca atau ditulis.

[in] pcb

Jenis: LONG*

Arahkan 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 dalam buffer pbBuff . Jika fungsi panggilan balik mengembalikan nilai bukan nol, kontrol edit kaya menggunakan anggota dwError dari struktur EDITSTREAM untuk meneruskan nilai kembali ke aplikasi.

Keterangan

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

Saat Anda mengirim pesan EM_STREAMIN atau EM_STREAMOUT , Anda menentukan nilai untuk anggota dwCookie dari 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 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 satu baris, panggilan balik dibaca dalam karakter akhir paragraf (CR, LF, VT, LS, atau PS).

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header richedit.h

Lihat juga

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

Referensi