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 hacia o hacia fuera de un control de edición enriquecido. 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 de . 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 transferir al control de edición enriquecido. Para una operación de streaming (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 de

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 de 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 del estructura EDITSTREAM para volver a pasar el valor a la aplicación.

Observaciones

Al enviar el mensaje de EM_STREAMIN o EM_STREAMOUT a un control de edición enriquecido, el miembro pfnCallback del 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 hacia fuera del control.

Al enviar el mensaje EM_STREAMIN o EM_STREAMOUT, se especifica un valor para el miembro dwCookie de la estructura de EDITSTREAM. El control de edición enriquecido usa el parámetro dwCookie para pasar este valor a la función EditStreamCallback de . 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 de 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 produzca 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 dentro o fuera de sí mismo. Algunos ejemplos son situaciones de memoria insuficiente, error de una función del sistema o un carácter no válido en el búfer de lectura.
  • Para una operación de streaming, el código RTF contiene datos que especifican el final de un bloque RTF.
  • Para una operación de transmisión 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 Valor
cliente mínimo admitido Windows Vista [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de richedit.h

Consulte también

EDITSTREAM

EM_STREAMIN

EM_STREAMOUT

de referencia de