Cria uma nova árvore de elementos de sintaxe como o último filho do elemento de sintaxe especificado, e a associa ao analisador especificado. A nova árvore de elementos de sintaxe é ocupada, 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 utilizada somente para criar um corpo de mensagem, ou seja, o último filho da raiz da mensagem. Uma mensagem de saída deve existir sempre. O elemento raiz dessa mensagem de saída deve ser transmitido como o parâmetro do elemento de destino. Como essa chamada é projetada somente para ser utilizada para criar um corpo de mensagem, ela não pode ser utilizada para construir elementos sucessivos. Por exemplo, não deveria ser utilizada para criar um RFH2 como o último filho da raiz e depois uma mensagem XML como o último filho da raiz, após o RFH2.
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 de zero (CCI_NULL_ADDR) é retornado e o parâmetro de código de retorno indica a razão do 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; }