스트림 메시지의 본문은 값 스트림을 포함합니다. 이 때 각 값은 연관된 데이터 유형을 갖습니다.
값의 데이터 유형은 표 1에 나열된 XMS 데이터 유형 중 하나입니다.
응용프로그램이 스트림 메시지를 작성한 후에는 메시지 본문이 쓰기 전용이 됩니다. 응용프로그램이 C 또는 C++용 StreamMessage 클래스 또는 .NET용 IStreamMessage 인터페이스의 적절한 쓰기 메소드를 호출하여 본문에 응용프로그램 데이터를 어셈블합니다. 응용프로그램이 메시지 스트림에 값을 쓸 때마다 그 값 및 데이터 유형이 응용프로그램에 의해 작성된 이전 값 뒤에 즉시 어셈블됩니다. XMS 어셈블된 마지막 값의 위치를 기억하기 위해 내부 커서를 유지보수합니다.
응용프로그램이 메시지를 전송할 때 메시지의 본문이 읽기 전용이 됩니다. 응용프로그램은 이 모드에서 메시지를 여러 번 전송할 수 있습니다.
응용프로그램이 스트림 메시지를 수신할 때 메시지 본문은 읽기 전용입니다. 응용프로그램은 C 또는 C++용 StreamMessage 클래스 또는 .NET용 IStreamMessage 인터페이스의 적절한 읽기 메소드를 사용하여 메시지 스트림의 컨텐츠를 읽을 수 있습니다. 응용프로그램은 값을 순서대로 읽고 XMS 읽은 마지막 값의 위치를 기억하기 위해 내부 커서를 유지보수합니다.
C 인터페이스만 사용하는 경우 응용프로그램이 xmsStreamMsgReadBytes() 또는 xmsStreamMsgReadObject()를 호출할 때 value 매개변수 또는 buffer 매개변수에 널 포인터로 읽기 함수를 호출하여 값을 읽지 않고 건너뛸 수 있습니다. 문자열인 값을 건너뛰는 방법에 대한 자세한 정보는 xmsStreamMsgReadString – 문자열 읽기을 참조하십시오.
응용프로그램이 메시지 스트림에서 값을 읽을 때 값은 XMS에 의해 다른 데이터 유형으로 변환될 수 있습니다. 예를 들어, 메시지 스트림에서 정수를 읽으려면 응용프로그램이 문자열로 정수를 리턴하는 Read String 메소드를 호출할 수 있습니다. 지원되는 변환은 XMS 등록 정보 값을 한 데이터 유형에서 다른 유형으로 변환할 때 지원되는 것과 동일합니다. 지원되는 변환에 대한 자세한 정보는 한 데이터 유형에서 다른 데이터 유형으로 등록 정보 값의 내부 변환을 참조하십시오.
응용프로그램이 메시지 스트림에서 값을 읽으려고 시도할 때 오류가 발생하면 커서가 진행되지 않습니다. 값을 다른 데이터 유형으로 읽으려고 시도하면 오류가 복구될 수 있습니다.
스트림 메시지의 본문이 쓰기 전용일 때 응용프로그램이 C 또는 C++용 StreamMessage 클래스 또는 .NET용 IStreamMessage 인터페이스의 Reset 메소드를 호출하면 본문이 읽기 전용이 됩니다. 또한 메소드가 커서를 메시지 스트림의 시작으로 옮깁니다.
스트림 메시지의 본문이 읽기 전용일 때 응용프로그램이 C 또는 C++용 Message 클래스 또는 .NET용 IMessage 인터페이스의 Clear Body 메소드를 호출하면 본문이 쓰기 전용이 됩니다. 또한 메소드가 본문을 지웁니다.