cpiWriteBufferFormatted

Scopo

Questa funzione è un'estensione della caratteristica fornita dalla funzione di implementazione esistente cpiWriteBuffer() che fornisce:
  1. La codifica e la serie di caratteri codificata di rappresentazione del messaggio di output quando il programma di analisi serializza la relativa struttura ad albero dell'elemento in un flusso di bit di output.
  2. La serie di messaggi, il tipo e il formato del messaggio di output per quei programmi di analisi che richiedono tali informazioni per serializzare correttamente la relativa struttura ad albero dell'elemento in un flusso di bit di output.

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()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

Sintassi

int cpiWriteBufferFormatted(
  CciParser*  parser,
  CciContext*  context,
  int                        encoding,
  int                        ccsid,
  CciChar*       set,
  CciChar*       type,
  CciChar*       format); 

Parametri

parser
L'indirizzo dell'oggetto programma di analisi (input).
context
L'indirizzo del contesto che l'oggetto programma di analisi possiede (input).
encoding
La codifica del buffer di messaggi (input).
ccsid
Il ccsid del buffer di messaggi (input).
set
La serie di appartenenza del messaggio (input).
type
Il tipo di messaggio (input).
format
Il formato del messaggio (input).

Valori di restituzione

La dimensione in byte dei dati accodati al flusso di bit nel buffer.

Esempio

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;
}
Concetti correlati
Programmi di analisi definiti dall'utente
Estensioni definite dall'utente
Attività correlate
Creazione di un programma di analisi in C
Riferimenti correlati
cpiWriteBuffer
cpiWriteBufferEncoded
Funzioni di implementazione del programma di analisi in C
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as08230_