WsWriteBody 함수(webservices.h)

메시지 본문에 값을 씁니다. 메시지의 XML 기록기에 값을 직렬화하는 도우미 함수입니다. 메시지 상태는 WS_MESSAGE_STATE_WRITING 설정해야 합니다. 이 함수는 상태 전환을 일으키지 않습니다.

구문

HRESULT WsWriteBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

매개 변수

[in] message

Message 개체에 대한 포인터입니다. 포인터는 유효한 WS_MESSAGE 개체를 참조해야 합니다.

[in] bodyDescription

값을 작성하는 방법을 설명하는 정보에 대한 포인터입니다.

[in] writeOption

값이 필요한지 여부와 값이 할당되는 방법을 결정합니다.

참고 자세한 내용은 WS_WRITE_OPTION 참조하세요.

 

value

쓸 값에 대한 void 포인터입니다.

[in] valueSize

쓸 값의 크기(바이트)입니다. 값이 NULL 이면 크기는 0이어야 합니다.

[in, optional] error

함수가 실패할 경우 오류에 대한 추가 정보를 저장해야 하는 WS_ERROR 개체에 대한 포인터입니다.

반환 값

이 함수는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
WS_E_INVALID_FORMAT
입력 데이터가 예상 형식이 아니거나 예상 값이 없습니다.
E_OUTOFMEMORY
메모리가 부족합니다.
E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.
기타 오류
이 함수는 위에 나열되지 않은 다른 오류를 반환할 수 있습니다.

설명

이 함수는 제공된 WS_ELEMENT_DESCRIPTION 내용에 따라 다음 시나리오를 지원합니다.

  • 단일 요소 작성 이 경우 WS_ELEMENT_DESCRIPTION elementLocalName 및 elementNs 필드를 작성할 요소의 로컬 이름 및 네임스페이스로 설정해야 하며 형식 및 형식 설명은 serialize되는 값의 형식을 나타냅니다. WS_FAULT_TYPE 또는 WS_ENDPOINT_ADDRESS_TYPE 사용하는 경우 로컬 이름, 네임스페이스 또는 형식 설명을 지정할 필요가 없습니다(메시지의 봉투/주소 지정 버전에 따라 기본적으로 적절하게 설정됨).
  • 여러 요소를 단일 값으로 작성합니다. 이 경우 WS_ELEMENT_DESCRIPTION elementLocalName 및 elementNs 필드를 NULL로 설정하고 WS_STRUCT_TYPEWS_STRUCT_DESCRIPTION 지정해야 합니다. 이 경우 직렬화되는 구조체 값의 각 필드는 본문 내에서 쓸 요소에 해당해야 합니다.
  • 여러 요소를 여러 값으로 작성합니다. 함수를 여러 번 호출하기만 하면 여러 고유 값을 작성할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 webservices.h
라이브러리 WebServices.lib
DLL WebServices.dll