구문 분석기와 연관된 메시지 버퍼에 구문 요소 트리를 씁니다. 이 함수는 현재의 구문 요소 트리를 소스로 사용하여 구문 분석기 오브젝트와 연관된 메시지 버퍼의 비트스트림에 데이터를 추가합니다. 이 구현 함수가 실행되는 동안에는 요소 트리를 수정할 수 없습니다. cpiAppendToBuffer 유틸리티 함수를 사용하여 요소 트리의 데이터를 메시지 버퍼(비트스트림)에 추가할 수 있습니다.
이 구현 함수가 CPI_VFT 구조에 제공된 경우, cpiWriteBufferEncoded()와 cpiWriteBufferFormatted() 모두 지정할 수 없습니다. CCI_INVALID_IMPL_FUNCTION 리턴 코드가 표시되면서 cpiDefineParserClass() 함수가 작동 중지되기 때문입니다.
정의 대상 | 유형 | 구성원 |
CPI_VFT | 조건부 | iFpWriteBuffer |
int cpiWriteBuffer( CciParser* parser, CciContext* context);
버퍼의 비트스트림에 추가할 데이터의 크기(바이트 단위).
int cpiWriteBuffer( CciParser* parser, CciContext* context ){ 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; }