Se a serialização não for necessária, por exemplo, quando a saída tiver como base um fluxo de bits de entrada e a árvore não tiver sido modificada, essa função de implementação não será chamada pelo intermediário.
Se essa função de implementação for fornecida na estrutura CPI_VFT, nem cpiWriteBuffer() nem cpiWriteBufferEncoded() podem ser especificados, porque a função cpiDefineParserClass() falhará com um código de retorno de CCI_INVALID_IMPL_FUNCTION.
Definido em | Tipo | Membro |
CPI_VFT | Condicional | iFpWriteBufferFormatted |
int cpiWriteBufferFormatted( CciParser* parser, CciContext* context, int encoding, int ccsid, CciChar* set, CciChar* type, CciChar* format);
O tamanho em bytes dos dados anexados ao fluxo de bits no 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; }