cpiWriteBufferEncoded

Zweck

Diese Funktion ist eine Erweiterung der vorhandenen Implementierungsfunktion cpiWriteBuffer(), die die Codierung und den codierten Zeichensatz bereitstellt, in denen die Ausgabenachricht dargestellt werden sollte, wenn der Parser die Elementstruktur in einen Ausgabebitstrom serialisiert. Wenn keine Serialisierung erforderlich ist, z. B. wenn die Ausgabe auf einem Eingabebitstrom basiert, und die Baumstruktur nicht geändert wurde, wird diese Implementierungsfunktion nicht vom Broker aufgerufen. Wenn diese Implementierungsfunktion in der Struktur CPI_VFT bereitgestellt wird, kann weder cpiWriteBuffer() noch cpiWriteBufferFormatted() angegeben werden, da die Funktion cpiDefineParserClass() mit dem Rückkehrcode CCI_INVALID_IMPL_FUNCTION fehlschlägt.

Definiert in Typ Mitglied
CPI_VFT Bedingt iFpWriteBufferEncoded

Syntax

int cpiWriteBufferEncoded(
  CciParser*     parser,
  CciContext*    context,
  int            encoding,
  int            ccsid); 

Parameter

parser
Die Adresse des Parser-Objekts (Eingabe).
context
Die Adresse des Plug-in-Kontextes (Eingabe).
encoding
Die Codierung des Nachrichtenpuffers (Eingabe).
ccsid
Die ID des codierten Zeichensatzes (CCSID) des Nachrichtenpuffers (Eingabe).

Rückgabewerte

Die Größe der an den Bitstrom im Puffer angehängten Daten in Byte.

Beispiel

Dieses Beispiel wurde aus der Parser-Beispieldatei BipSampPluginParser.c entnommen (Zeile 612 bis 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;
}
Zugehörige Konzepte
Benutzerdefinierte Parser
Benutzerdefinierte Erweiterungen
Zugehörige Tasks
Parser in C erstellen
Zugehörige Verweise
cpiWriteBuffer
cpiWriteBufferFormatted
C-Parser-Implementierungsfunktionen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
as08220_