Поделиться через


Функция WsReadBody (webservices.h)

Это вспомогающая функция, которая десериализует значение из средства чтения XML сообщения. Для 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 :

  • Чтение одного элемента. В этом случае полям elementLocalName и elementNs WS_ELEMENT_DESCRIPTION следует задать локальное имя и пространство имен элемента для чтения, а описание типа и типа представляет тип десериализуемого значения. При использовании WS_FAULT_TYPE или WS_ENDPOINT_ADDRESS_TYPE не нужно указывать локальное имя, пространство имен или описание типа (по умолчанию они будут соответствовать версии конверта или адресации сообщения).
  • Чтение нескольких элементов в виде одного значения. В этом случае полям elementLocalName и elementNs WS_ELEMENT_DESCRIPTION следует задать значение NULL, а также указать WS_STRUCT_TYPE и WS_STRUCT_DESCRIPTION . В этом случае каждое поле десериализуемого значения структуры должно соответствовать элементам для чтения в тексте.
  • Чтение нескольких элементов в виде нескольких значений. Чтение нескольких различных значений можно выполнить, просто вызвав функцию несколько раз.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header webservices.h
Библиотека WebServices.lib
DLL WebServices.dll