WsReadBody 함수(webservices.h)

메시지의 XML Reader에서 값을 역직렬화하는 도우미 함수입니다. WS_MESSAGE_STATE WS_MESSAGE_STATE_READING 설정해야 합니다. 이 함수는 상태 전환을 일으키지 않습니다.

구문

HRESULT WsReadBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_READ_OPTION               readOption,
  [in, optional] WS_HEAP                      *heap,
                 void                         *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

매개 변수

[in] message

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

[in] bodyDescription

요소에 대한 값의 매핑을 설명하는 메타데이터를 캡슐화하는 개체에 대한 포인터입니다.

[in] readOption

값이 필요한지 여부와 값을 할당하는 방법을 결정합니다. 자세한 내용은 WS_READ_OPTION 참조하세요.

[in, optional] heap

요소를 읽을 Heap 개체에 대한 포인터입니다. 포인터는 유효한 WS_HEAP 개체를 참조해야 합니다.

value

이 매개 변수에서 참조하는 데이터의 해석은 WS_READ_OPTION 따라 달라집니다.

[in] valueSize

이 매개 변수의 값 해석은 WS_READ_OPTION 따라 달라집니다.

[in, optional] error

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

반환 값

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

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

설명

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

  • 단일 요소 읽기 이 경우 WS_ELEMENT_DESCRIPTION elementLocalName 및 elementNs 필드를 읽을 요소의 로컬 이름 및 네임스페이스로 설정해야 하며 형식 및 형식 설명은 역직렬화되는 값의 형식을 나타냅니다. 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