cniCreateElementAsLastChildFromBitstream

지정된 대상 요소의 마지막 하위 요소로 새 구문 요소를 작성하고 이를 지정된 구문 분석기와 연관시킵니다. 지정된 비트스트림을 구문 분석하여 새 구문 요소 트리가 채워집니다. 이 함수가 실행되는 동안 비트스트림이 복사되므로, 호출자는 원래의 비트스트림을 보유하기 위해 할당된 메모리를 비우거나 재사용할 수 있습니다. 이 함수는 메시지 본문, 즉, 메시지 루트의 마지막 하위 요소를 작성하는 데만 사용할 수 있습니다. 출력 메시지는 이미 존재합니다. 이 출력 메시지의 루트 요소는 대상 요소 매개변수로 전달되어야 합니다. 이 호출은 메시지 본문을 작성하는 용도로만 설계되었기 때문에 연속 요소를 빌드하는 데 사용할 수 없습니다. 예를 들면, RFH2를 루트의 마지막 하위 요소로 작성한 다음 XML 메시지를 루트의 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);

매개변수

returnCode
함수의 리턴 코드(출력). 널(null) 포인터는 노드가 오류를 처리하지 않음을 의미합니다. 입력이 널(null)이 아닌 경우, 출력은 호출 성공 상태를 의미합니다. 이 호출 실행 중 전달된 모든 예외는 플로우의 다음 업스트림 노드에 다시 전달됩니다. 예외에 대한 자세한 내용은 cciGetLastExceptionData를 호출하십시오.
가능한 리턴 코드는 다음과 같습니다.
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_PARSER_NAME
  • CCI_INV_DATA_POINTER
targetElement
새 구문 요소 트리가 작성되는 구문 요소(입력). 메시지 루트여야 합니다.
parserClassName
비트스트림을 구문 분석하는 데 사용될 구문 분석기 클래스 이름(입력). 전체 비트스트림을 구문 분석하는 데 사용된 것과 동일한 구문 분석기를 사용할 수 있습니다.
value
구문 분석할 비트스트림을 가리키는 포인터 및 해당 비트스트림의 크기(CciBytes 단위)가 포함된 CciByteArray struct를 가리키는 포인터(출력).
messageType
비트스트림으로부터 요소 트리를 작성하는 데 사용되는 메시지 유형 정의(입력). 널(null) 포인터는 이 매개변수를 무시함을 의미합니다. 또한, 지정된 구문 분석기에서 이 값을 필요로 하지 않을 경우, 가령 그 구문 분석기가 일반 XML 구문 분석기인 경우, 매개변수는 무시됩니다.
messageSet
비트스트림으로부터 요소 트리를 작성하는 데 사용되는 메시지 세트 정의(입력). 널(null) 포인터는 이 매개변수를 무시함을 의미합니다. 또한, 지정된 구문 분석기에서 이 값을 필요로 하지 않을 경우, 가령 그 구문 분석기가 일반 XML 구문 분석기인 경우, 매개변수는 무시됩니다.
messageFormat
비트스트림으로부터 요소 트리를 작성하는 데 사용되는 형식(입력). 널(null) 포인터는 이 매개변수를 무시함을 의미합니다. 또한, 지정된 구문 분석기에서 이 값을 필요로 하지 않을 경우, 가령 그 구문 분석기가 일반 XML 구문 분석기인 경우, 매개변수는 무시됩니다.
encoding
비트스트림을 구문 분석할 때 사용할 인코딩(입력). 이 매개변수는 필수입니다. 큐 관리자의 인코딩을 사용해야 함을 나타내려면 0 값을 지정하면 됩니다.
ccsid
비트스트림을 구문 분석할 때 사용할 코딩 문자 세트 ID(입력). 이 매개변수는 필수입니다. 큐 관리자의 CCSID를 사용해야 함을 나타내려면 0 값을 지정하면 됩니다.
options
변경 시작나중에 사용하기 위해 예약되어 있습니다. 포워드 호환성을 유지보수하려면 값을 0으로 지정해야 합니다.변경 끝

리턴 값

함수가 정상적으로 실행되면, 새 요소 오브젝트의 주소가 리턴됩니다. 정상적으로 실행되지 않으면, 0 값(CCI_NULL_ADDR)이 리턴되고 리턴 코드 매개변수는 오류의 이유를 표시합니다. 실행 중 예외가 발생할 경우, returnCode는 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;
}
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
as07865_