Esta función es una extensión de la posibilidad proporcionada por la función de implementación cpiWriteBuffer() existente, que ofrece la codificación y el juego de caracteres codificado en los que debe representarse el mensaje de salida cuando el analizador serializa su árbol de elementos en una corriente de bits de salida. Si no es necesaria la serialización, por ejemplo cuando la salida está basada en una corriente de bits de entrada y el árbol no se ha modificado, 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 podrá especificarse ni cpiWriteBuffer() ni cpiWriteBufferFormatted(), porque la función cpiDefineParserClass() fallará con un código de retorno de CCI_INVALID_IMPL_FUNCTION.
Definida en | Tipo | Miembro |
CPI_VFT | Condicional | iFpWriteBufferEncoded |
int cpiWriteBufferEncoded( CciParser* parser, CciContext* context, int encoding, int ccsid);
El tamaño, en bytes, de los datos añadidos a la corriente de bits del almacenamiento intermedio.
Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c (de la línea 612 a la 642):
int cpiWriteBufferEncoded( CciParser* parser, CciContext* context, int encoding, int ccsid ){ 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 *)"Some test data", 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
cpiWriteBufferFormatted
Funciones de implementación de analizador
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
as08220_ |