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, 2006 마지막 갱신 날짜: 2006/08/21
as08230_