Utilice esta función para crear un árbol de elementos de sintaxis como el último hijo del elemento de sintaxis especificado y asociarlo al analizador especificado. El á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. Puede utilizar esta función sólo para crear un cuerpo de mensaje, es decir, el último hijo de la propiedad de 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 está diseñada únicamente para utilizarla para crear un cuerpo de mensaje, no puede utilizarla para crear elementos sucesivos. Por ejemplo, no debería utilizarse para crear una cabecera MQRFH2 como el último hijo de la raíz, y luego un mensaje XML como el último hijo de la raíz, después de la cabecera 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);
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;
}