Use esta função para criar uma árvore de elementos de sintaxe como o último filho do elemento da sintaxe especificado e associe-a ao analisador especificado. A árvore de elementos de sintaxe é preenchida analisando o fluxo de bits especificado.
Durante a execução dessa função, o fluxo de bits é copiado de modo que o responsável pela chamada possa liberar e reutilizar a memória alocada para reter o fluxo de bits original. Essa função pode ser usada apenas para criar um corpo de mensagem, ou seja, o último filho da propriedade de mensagem. Uma mensagem de saída já deve existir.
O elemento raiz dessa mensagem de saída deve ser transmitido como o parâmetro do elemento de destino. Como esta chamada é projetada apenas para ser usada para criar um corpo da mensagem, não é possível usá-la para construir elementos sucessivos. Por exemplo, ela não deve ser usada para criar um cabeçalho MQRFH2 como o último filho da raiz, em seguida, uma mensagem XML como o último filho da raiz, após o cabeçalho MQRFH2.
CciElement* cniCreateElementAsLastChildFromBitstream (
int* returnCode,
CciElement* targetElement,
const struct CciByteArray* value,
const CciChar* parserClassName,
CciChar* messageType,
CciChar* messageSet,
CciChar* messageFormat,
int encoding,
int ccsid,
int options);
Se for bem-sucedido, o endereço do novo objeto de elemento é retornado. Caso contrário, um valor zero (CCI_NULL_ADDR) é retornado e o parâmetro do código de retorno indica a razão para o erro. Se uma exceção ocorrer durante a execução, returnCode é definido como CCI_EXCEPTION.
outMQMD = cniCreateElementAsFirstChildUsingParser(&rc,
outRootElement,
CciString("MQHMD",BIP_DEF_COMP_CCSID));
checkRC(rc);
cniCopyElementTree(&rc, inMQMD, outMQMD);
checkRC(rc);
outBlobRoot = cniCreateElementAsLastChildFromBitstream(
&rc,
outRootElement,
&bitstream,
inParserClassName,
messageType,
messageSet,
messageFormat,
encoding,
ccsid,
0);
checkRC(rc);
...
return;
}