Diese Funktion schreibt eine Syntaxelementstruktur in den Nachrichtenpuffer, der einem Parser zugeordnet ist. Sie hängt Daten an den Bitstrom im Nachrichtenpuffer an, der dem Parser-Objekt zugeordnet ist, und verwendet dabei die aktuelle Syntaxelementstruktur als Quelle. Die Elementstruktur sollte 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, kann weder cpiWriteBufferEncoded() 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 | iFpWriteBuffer |
int cpiWriteBuffer( CciParser* parser, CciContext* context);
Die Größe der an den Bitstrom im Puffer angehängten Daten in Byte.
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; }