Fonction de rappel EDITSTREAMCALLBACK (richedit.h)

La fonction EditStreamCallback est une fonction de rappel définie par l’application utilisée avec les messages EM_STREAMIN et EM_STREAMOUT. Il est utilisé pour transférer un flux de données vers ou hors d’un contrôle d’édition enrichi. Le type EDITSTREAMCALLBACK définit un pointeur vers cette fonction de rappel. EditStreamCallback est un espace réservé pour le nom de la fonction définie par l’application.

Syntaxe

EDITSTREAMCALLBACK Editstreamcallback;

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

Paramètres

[in] dwCookie

Type : DWORD_PTR

Valeur du membre dwCookie de la structure EDITSTREAM . L’application spécifie cette valeur lorsqu’elle envoie le message EM_STREAMIN ou EM_STREAMOUT.

[in] pbBuff

Type : LPBYTE

Pointeur vers une mémoire tampon vers laquelle lire ou écrire. Pour une opération de flux (lecture), la fonction de rappel remplit cette mémoire tampon avec des données à transférer dans le contrôle d’édition enrichi. Pour une opération de flux sortant (écriture), la mémoire tampon contient des données du contrôle que la fonction de rappel écrit dans un stockage.

[in] cb

Type : LONG

Nombre d’octets à lire ou à écrire.

[in] pcb

Type : LONG*

Pointeur vers une variable que la fonction de rappel définit sur le nombre d’octets réellement lus ou écrits.

Valeur de retour

Type : DWORD

La fonction de rappel retourne zéro pour indiquer la réussite.

La fonction de rappel retourne une valeur différente de zéro pour indiquer une erreur. Si une erreur se produit, l’opération de lecture ou d’écriture se termine et le contrôle d’édition enrichi ignore toutes les données de la mémoire tampon pbBuff . Si la fonction de rappel retourne une valeur différente de zéro, le contrôle d’édition enrichi utilise le membre dwError de la structure EDITSTREAM pour transmettre la valeur à l’application.

Remarques

Lorsque vous envoyez le message EM_STREAMIN ou EM_STREAMOUT à un contrôle d’édition enrichi, le membre pfnCallback de la structure EDITSTREAM spécifie un pointeur vers une fonction EditStreamCallback. Le contrôle d’édition enrichi appelle à plusieurs reprises la fonction pour transférer un flux de données vers ou hors du contrôle.

Lorsque vous envoyez le message EM_STREAMIN ou EM_STREAMOUT, vous spécifiez une valeur pour le membre dwCookie de la structure EDITSTREAM . Le contrôle d’édition enrichi utilise le paramètre dwCookie pour transmettre cette valeur à votre fonction EditStreamCallback. Par exemple, vous pouvez utiliser dwCookie pour passer un handle à un fichier ouvert. La fonction de rappel peut ensuite utiliser le handle dwCookie pour lire ou écrire dans le fichier.

Le contrôle appelle la fonction de rappel à plusieurs reprises, en transférant une partie des données avec chaque appel. Le contrôle continue d’appeler la fonction de rappel jusqu’à ce que l’une des conditions suivantes se produise :

  • La fonction de rappel retourne une valeur différente de zéro.
  • La fonction de rappel retourne zéro dans le paramètre * ccp.
  • Une erreur se produit qui empêche le contrôle d’édition enrichi de transférer des données vers ou hors de lui-même. Par exemple, des situations hors mémoire, une défaillance d’une fonction système ou un caractère non valide dans la mémoire tampon de lecture.
  • Pour une opération de flux de données, le code RTF contient des données spécifiant la fin d’un bloc RTF.
  • Pour une opération de flux de données sur un contrôle d’édition à ligne unique, le rappel lit dans un caractère de fin de paragraphe (CR, LF, VT, LS ou PS).

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête richedit.h

Voir aussi

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

de référence