WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

cpiParseBufferFormatted

Esta función amplía la posibilidad de la función de implementación cpiParseBuffer(), y proporciona información adicional sobre el mensaje de entrada.

Hay disponible la siguiente información adicional:
  1. La codificación y el juego de caracteres codificado en que se representa el mensaje de entrada.
  2. El conjunto de mensajes, tipo y formato correspondientes al mensaje.

Si esta función de implementación se proporciona en la estructura CPI_VFT, no puede especificar cpiParseBuffer() ni cpiParseBufferEncoded(); si lo hace, la función cpiDefineParserClass() falla con un código de retorno CCI_INVALID_IMPL_FUNCTION.

Definida en Tipo Miembro
CPI_VFT Condicional iFpParseBufferFormatted

Sintaxis

int cpiParseBufferFormatted(
  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
El CCSID del almacenamiento intermedio de mensajes (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 la parte restante del almacenamiento intermedio de mensaje del que el analizador se convierte en propietario.

Ejemplo

Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c:

int cpiParseBufferFormatted(
  CciParser*     parser,
  CciContext*    context,
  int            encoding,
  int            ccsid,
  CciChar*       set,
  CciChar*       type,
  CciChar*       format
){
  PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
  int                rc;

  /* Obtener un puntero al almacenamiento intermedio de mensaje y establecer el desplazamiento */
  pc->iBuffer = (void *)cpiBufferPointer(&rc, parser);
  pc->iIndex = 0;

  /* Guardar el formato del almacenamiento intermedio */
  pc->iEncoding = encoding;
  pc->iCcsid = ccsid;

  /* Guardar el tamaño del almacenamiento intermedio */
  pc->iSize = cpiBufferSize(&rc, parser);

  /* Cargar el primer byte en la corriente de datos */
  pc->iCurrentCharacter = cpiBufferByte(&rc, parser, pc->iIndex);

  /* Establecer el elemento actual en el elemento raíz */
  pc->iCurrentElement = cpiRootElement(&rc, parser);

  /* Restablecer el distintivo para asegurar que el análisis se restablece correctamente */
  pc->iInTag = 0;

  if (pc->trace) {
    fprintf(pc->tracefile, "PLUGIN: <- cpiParseBufferFormatted() 
    retvalue=%d\n", pc->iSize);
    fflush(pc->tracefile);
  }
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:25


Tema de referenciaTema de referencia | Versión 8.0.0.5 | as08170_