cpiWriteBufferFormatted

목적

이 함수는 다음을 제공하는 기존의 cpiWriteBuffer() 구현 함수에서 제공하는 기능을 확장하여 제공합니다.
  1. 구문 분석기가 요소 트리를 출력 비트스트림으로 직렬화할 때 출력 메시지를 표시하는 데 사용할 인코딩 및 코드화 문자 세트
  2. 출력 메시지의 메시지 세트, 유형 및 형식. 해당 요소 트리를 출력 비트스트림으로 직렬화하기 위해 이러한 정보를 필요로 하는 구문 분석기용으로 제공됩니다.

예를 들어 출력이 입력 비트스트림을 기준으로 하거나 트리가 수정되지 않은 경우 직렬화가 필요하지 않으면 브로커는 이 구현 함수를 호출하지 않습니다.

이 구현 함수가 CPI_VFT 구조에 제공된 경우, cpiWriteBuffer()cpiWriteBufferEncoded() 모두 지정할 수 없습니다. CCI_INVALID_IMPL_FUNCTION 리턴 코드가 표시되면서 cpiDefineParserClass() 함수가 작동 중지되기 때문입니다.

정의 대상 유형 구성원
CPI_VFT 조건부 iFpWriteBufferFormatted

구문

int cpiWriteBufferFormatted(
    CciParser*      parser,
    CciContext* context,
    int            encoding,
    int            ccsid,
    CciChar*       set,
    CciChar*       type,
    CciChar*       format); 

매개변수

parser
구문 분석기 오브젝트의 주소(입력).
context
플러그인 컨텍스트의 주소(입력).
encoding
메시지 버퍼의 인코딩(입력).
ccsid
메시지 버퍼의 CCSID(입력).
set
메시지가 속하는 메시지 세트(입력).
type
메시지 유형(입력).
format
메시지 형식(입력).

리턴 값

버퍼의 비트스트림에 추가할 데이터의 크기(바이트 단위).

샘플

int cpiWriteBufferFormatted(
    CciParser*      parser,
    CciContext* context,
    int            encoding,
    int         ccsid
    CciChar*       set,
    CciChar*       type,
    CciChar*       format
){
    PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
    int                initialSize = 0;
    int                rc = 0;
    const void* a;
    CciByte b;

  
    initialSize = cpiBufferSize(&rc, parser);
    a = cpiBufferPointer(&rc, parser);
    b = cpiBufferByte(&rc, parser, 0);

    cpiAppendToBuffer(&rc, parser, (char *)"Some test data", 14);

    return cpiBufferSize(0, parser) - initialSize;
}
관련 개념
사용자 정의 구문 분석기
사용자 정의 확장 구성요소
관련 작업
C로 구문 분석기 작성
관련 참조
cpiWriteBuffer
cpiWriteBufferEncoded
C 구문 분석기 구현 함수
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2005 마지막 갱신 날짜: 11/08/2005
as08230_