Se non è richiesta la serializzazione, ad esempio quando l'output si basa su un flusso di bit di input, e la struttura ad albero non è stata modificata, questa funzione di implementazione non verrà richiamata dal broker.
Se nella struttura CPI_VFT viene fornita questa funzione di implementazione, non è possibile specificare cpiWriteBuffer() né cpiWriteBufferEncoded() in quanto la funzione cpiDefineParserClass() avrà esito negativo e viene restituito il codice di ritorno CCI_INVALID_IMPL_FUNCTION.
Definito in | Tipo | Membro |
CPI_VFT | Condizionale | iFpWriteBufferFormatted |
int cpiWriteBufferFormatted( CciParser* parser, CciContext* context, int encoding, int ccsid, CciChar* set, CciChar* type, CciChar* format);
La dimensione in byte dei dati accodati al flusso di bit nel buffer.
int cpiWriteBufferFormatted( CciParser* parser, CciContext* context, int encoding, int ccsid CciChar* set, CciChar* type, 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; }