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


Функция 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

Пустой указатель на значение для записи.

[in] valueSize

Размер записываемого значения в байтах. Если значение равно NULL , размер должен быть равен 0.

[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