cpiWriteBufferFormatted

Zweck

Diese Funktion stellt eine Erweiterung der Funktionalität dar, die von der bestehenden Implementierungsfunktion cpiWriteBuffer() bereitgestellt wird und Folgendes bereitstellt:
  1. Die Codierung und der codierte Zeichensatz, in denen die Ausgabenachricht dargestellt werden soll, wenn der Parser seine Element-Baumstruktur zu einem Ausgabebitstrom serialisiert.
  2. Die Nachrichtengruppe, den Typ und das Format für die Ausgabenachricht für solche Parser, die derartige Informationen benötigen, um deren Element-Baumstruktur korrekt zu einem Ausgabebitstrom zu serialisieren.

Wenn keine serielle Verarbeitung erforderlich ist, zum Beispiel wenn die Ausgabe auf einem Eingabebitstrom basiert und die Baumstruktur nicht verändert wurde, wird diese Implementierungsfunktion nicht vom Broker aufgerufen.

Wenn die Implementierungsfunktion in der CPI_VFT-Struktur bereitgestellt wird, kann weder cpiWriteBuffer() noch cpiWriteBufferEncoded() bereitgestellt werden, da die Funktion cpiDefineParserClass() mit dem Rückkehrcode CCI_INVALID_IMPL_FUNCTION fehlschlägt.

Definiert in Typ Mitglied
CPI_VFT Bedingt iFpWriteBufferFormatted

Syntax

int cpiWriteBufferFormatted(
  CciParser*     Parser,
  CciContext*    Kontext,
  int            encoding,
  int            ccsid,
  CciChar*       Gruppe,
  CciChar*       Typ,
  CciChar*       Format); 

Parameter

Parser
Die Adresse des Parserobjekts (Eingabe).
Kontext
Die Adresse des Kontextes des Parserobjekts (Eingabe).
encoding
Die Codierung des Nachrichtenpuffers (Eingabe).
ccsid
Die 'ccsid' des Nachrichtenpuffers (Eingabe).
Gruppe
Die Nachrichtengruppe, zu der die Nachricht gehört (Eingabe).
Typ
Der Nachrichtentyp (Eingabe).
Format
Das Nachrichtenformat (Eingabe).

Rückgabewerte

Die Größe der Daten in Byte, die an den Bitstrom im Puffer angehängt sind.

Beispielprogramm

int cpiWriteBufferFormatted(
  CciParser*     Parser,
  CciContext*    Kontext,
  int            encoding,
  int         ccsid
  CciChar*       Gruppe,
  CciChar*       Typ,
  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 *)"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
cpiWriteBufferEncoded
C-Parser-Implementierungsfunktionen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as08230_