Función de devolución de llamada EDITSTREAMCALLBACK (richedit.h)

La función EditStreamCallback es una función de devolución de llamada definida por la aplicación que se usa con los mensajes EM_STREAMIN y EM_STREAMOUT . Se usa para transferir un flujo de datos a un control de edición enriquecido o fuera de él. El tipo EDITSTREAMCALLBACK define un puntero a esta función de devolución de llamada. EditStreamCallback es un marcador de posición para el nombre de función definido por la aplicación.

Sintaxis

EDITSTREAMCALLBACK Editstreamcallback;

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

Parámetros

[in] dwCookie

Tipo: DWORD_PTR

Valor del miembro dwCookie de la estructura EDITSTREAM . La aplicación especifica este valor cuando envía el mensaje EM_STREAMIN o EM_STREAMOUT .

[in] pbBuff

Tipo: LPBYTE

Puntero a un búfer en el que se va a leer o escribir. Para una operación de streaming (lectura), la función de devolución de llamada rellena este búfer con datos para transferirlos al control de edición enriquecido. En el caso de una operación de salida (escritura), el búfer contiene datos del control que la función de devolución de llamada escribe en algún almacenamiento.

[in] cb

Tipo: LONG

Número de bytes que se van a leer o escribir.

[in] pcb

Tipo: LONG*

Puntero a una variable que la función de devolución de llamada establece en el número de bytes leídos o escritos realmente.

Valor devuelto

Tipo: DWORD

La función de devolución de llamada devuelve cero para indicar que se ha realizado correctamente.

La función de devolución de llamada devuelve un valor distinto de cero para indicar un error. Si se produce un error, la operación de lectura o escritura finaliza y el control de edición enriquecido descarta los datos del búfer pbBuff . Si la función de devolución de llamada devuelve un valor distinto de cero, el control de edición enriquecido usa el miembro dwError de la estructura EDITSTREAM para volver a pasar el valor a la aplicación.

Comentarios

Al enviar el mensaje EM_STREAMIN o EM_STREAMOUT a un control de edición enriquecido, el miembro pfnCallback de la estructura EDITSTREAM especifica un puntero a una función EditStreamCallback . El control de edición enriquecido llama repetidamente a la función para transferir un flujo de datos hacia o fuera del control.

Al enviar el EM_STREAMIN o EM_STREAMOUT mensaje, se especifica un valor para el miembro dwCookie de la estructura EDITSTREAM . El control de edición enriquecido usa el parámetro dwCookie para pasar este valor a la función EditStreamCallback . Por ejemplo, puede usar dwCookie para pasar un identificador a un archivo abierto. Después, la función de devolución de llamada puede usar el identificador dwCookie para leer o escribir en el archivo.

El control llama repetidamente a la función de devolución de llamada y transfiere una parte de los datos con cada llamada. El control continúa llamando a la función de devolución de llamada hasta que se produce una de las condiciones siguientes:

  • La función de devolución de llamada devuelve un valor distinto de cero.
  • La función de devolución de llamada devuelve cero en el parámetro * pcb .
  • Se produce un error que impide que el control de edición enriquecido transfiera datos a o fuera de sí mismo. Algunos ejemplos son situaciones de memoria insuficiente, errores de una función del sistema o un carácter no válido en el búfer de lectura.
  • Para una operación de entrada, el código RTF contiene datos que especifican el final de un bloque RTF.
  • Para una operación de entrada en un control de edición de una sola línea, la devolución de llamada lee en un carácter de fin de párrafo (CR, LF, VT, LS o PS).

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado richedit.h

Consulte también

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

Referencia