Diese Funktion schreibt eine Syntaxelement-Baumstruktur in den Nachrichtenpuffer, dem ein Parser zugeordnet ist.
Sie hängt Daten an den Bitstrom im Nachrichtenpuffer an, der dem Parserobjekt zugeordnet ist, und verwendet dabei die aktuelle Syntaxelement-Baumstruktur als Quelle. Die Baumstruktur des Elements kann während der Ausführung dieser Implementierungsfunktion nicht geändert werden. Die Dienstprogrammfunktion cpiAppendToBuffer kann verwendet werden, um Daten aus der Elementstruktur an den Nachrichtenpuffer (Bitstrom) anzuhängen.
Wenn diese Implementierungsfunktion in der Struktur CPI_VFT bereitgestellt wird, können Sie weder cpiWriteBufferEncoded() noch cpiWriteBufferFormatted() angeben, da die Funktion cpiDefineParserClass() dann mit dem Rückkehrcode CCI_INVALID_IMPL_FUNCTION fehlschlägt.
Definiert in | Typ | Mitglied |
---|---|---|
CPI_VFT | Bedingt | iFpWriteBuffer |
int cpiWriteBuffer(
CciParser* parser,
CciContext* context);
Die Größe der Daten in Byte, die an den Bitstrom im Puffer angehängt sind.
int cpiWriteBuffer(
CciParser* parser,
CciContext* context
){
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;
}