Crea un nuevo árbol de elementos de sintaxis como el último hijo del elemento de sintaxis especificado y lo asocia con el analizador especificado. El nuevo árbol de elementos de sintaxis se llena analizando la corriente de bits especificada. Durante la ejecución de esta función, se copia la corriente de bits, de modo que el canal de llamada puede liberar o reutilizar la memoria asignada para contener la corriente de bits original. Sólo puede utilizar esta función para crear un cuerpo de mensaje, es decir, el último hijo de la raíz del mensaje. Ya debe existir un mensaje de salida. El elemento raíz de este mensaje de salida se deberá pasar como parámetro de elemento de destino. Dado que esta llamada sólo está destinada a utilizarse para crear un cuerpo de mensaje, no puede utilizarla para crear elementos sucesivos. Por ejemplo, no se deberá utilizar para crear un RFH2 como último hijo de la raíz y, a continuación, un mensaje XML como último hijo de la raíz, después de 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);
Si la ejecución se realiza satisfactoriamente, se devuelve la dirección del objeto de elemento nuevo. De lo contrario, se devuelve un valor cero (CCI_NULL_ADDR) y el parámetro de código de retorno indica la razón del error. Si se produce una excepción durante la ejecución, returnCode se establece en 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; }