cpiWriteBufferFormatted

Finalidad

Esta función es una ampliación de la posibilidad proporcionada por la función de implementación cpiWriteBuffer() existente que proporciona:
  1. La codificación y el juego de caracteres codificado en los que se debe representar el mensaje de salida cuando el analizador serializa su árbol de elementos en una corriente de bits de salida.
  2. El conjunto de mensajes, el tipo y el formato del mensaje de salida para esos analizadores que necesitan dicha información para serializar correctamente el árbol de elementos en una corriente de bits de salida.

Si la serialización no es necesaria, por ejemplo cuando la salida se basa en una corriente de bits de entrada y no se ha modificado el árbol, el intermediario no invocará esta función de implementación.

Si esta función de implementación se proporciona en la estructura CPI_VFT, no se puede especificar cpiWriteBuffer() ni cpiWriteBufferEncoded(), porque la función cpiDefineParserClass() fallará con un código de retorno de CCI_INVALID_IMPL_FUNCTION.

Definida en Tipo Miembro
CPI_VFT Condicional iFpWriteBufferFormatted

Sintaxis

int cpiWriteBufferFormatted(
  CciParser*     parser,
  CciContext*    context,
  int            encoding,
  int            ccsid,
  CciChar*       set,
  CciChar*       type,
  CciChar*       format); 

Parámetros

parser
Dirección del objeto de analizador (entrada).
context
Dirección del contexto propiedad del objeto analizador (entrada).
encoding
Codificación del almacenamiento intermedio de mensaje (entrada).
ccsid
ccsid del almacenamiento intermedio de mensaje (entrada).
set
Conjunto de mensajes al que pertenece el mensaje (entrada).
type
Tipo de mensaje (entrada).
format
Formato del mensaje (entrada).

Valores de retorno

Tamaño en bytes de los datos añadidos a la corriente de bits del almacenamiento intermedio.

Ejemplo

int cpiWriteBufferFormatted(
  CciParser*     parser,
  CciContext*    context,
  int            encoding,
  int         ccsid
  CciChar*       set,
  CciChar*       type,
  CciChar*       format
){
  PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
  int                initialSize = 0;
  int                rc = 0;
  const void* a;
  CciByte b;

  
  initialSize = cpiBufferSize(&rc, parser);
  a = cpiBufferPointer(&rc, parser);
  b = cpiBufferByte(&rc, parser, 0);

  cpiAppendToBuffer(&rc, parser, (char *)"Algunos datos de prueba", 14);

  return cpiBufferSize(0, parser) - initialSize;
}
Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario
Tareas relacionadas
Creación de un analizador en C
Referencia relacionada
cpiWriteBuffer
cpiWriteBufferEncoded
Funciones de implementación de analizador en C
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as08230_