cniCreateElementAsLastChildFromBitstream

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.

Sintaxe

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

Parâmetros

returnCode
O código de retorno da função (saída). Especificar um ponteiro NULL significa que o nó não deseja lidar com erros. Se a entrada não for NULL, a saída significa o status de êxito da chamada. Quaisquer exceções lançadas durante a execução desta chamada serão lançadas novamente para o próximo nó acima no fluxo. Chame cciGetLastExceptionData para obter detalhes da exceção.
Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_PARSER_NAME
  • CCI_INV_DATA_POINTER
targetElement
O elemento de sintaxe sob o qual a nova árvore de elementos de sintaxe é criada (entrada). Esse deve ser a raiz da mensagem.
parserClassName
O nome da classe de analisador a ser utilizado para analisar o fluxo de bits (entrada). Você deve utilizar o mesmo analisador que foi utilizado para analisar o fluxo de bits inteiro.
value
Um ponteiro para uma estrutura CciByteArray contendo um ponteiro para o fluxo de bits a ser analisado e também o tamanho em CciBytes desse fluxo de bits (saída).
messageType
A definição de tipo de mensagem utilizada para criar a árvore de elementos a partir do fluxo de bits (entrada). Um ponteiro NULL significa que este parâmetro é ignorado. Além disso, se o analisador especificado não tiver interesse neste valor, por exemplo, se ele for um analisador XML genérico, o parâmetro é ignorado.
messageSet
A definição de conjunto de mensagens utilizada para criar a árvore de elementos a partir do fluxo de bits (entrada). Um ponteiro NULL significa que este parâmetro é ignorado. Além disso, se o analisador especificado não tiver interesse neste valor, por exemplo, se ele for um analisador XML genérico, o parâmetro é ignorado.
messageFormat
O formato utilizado para criar a árvore de elementos a partir do fluxo de bits (entrada). Um ponteiro NULL significa que este parâmetro é ignorado. Além disso, se o analisador especificado não tiver interesse neste valor, por exemplo, se ele for um analisador XML genérico, o parâmetro é ignorado.
encoding
A codificação a ser utilizada ao analisar o fluxo de bits (entrada). Esse parâmetro é obrigatório. Você pode especificar um valor de 0 para indicar que a codificação do gerenciador de filas deve ser utilizada.
ccsid
O identificador do conjunto de caracteres codificados a ser utilizado ao analisar o fluxo de bits (entrada). Esse parâmetro é obrigatório. Você pode especificar um valor de 0 para indicar que o ccsid do gerenciador de filas deve ser utilizado.
options
Início da mudançaEle está reservado para utilização futura. Você deve especificar um valor igual a 0 para manter a compatibilidade futura.Fim da mudança

Valores de Retorno

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.

Exemplo

  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;
}
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as07865_