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
Referencia
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de