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


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

Очищает все накопленные данные текста сообщения, которые были записаны.

Если сообщение использует WsWriteBody или модуль записи XML, данные накапливаются в буфере. WsFlushBody впоследствии выполняет фактический ввод-вывод.

WsFlushBody обычно используется, когда для ввода-вывода канала задано значение WS_STREAMED_OUTPUT_TRANSFER_MODE или при использовании модуля записи XML для использования WS_XML_WRITER_STREAM_OUTPUT.

Синтаксис

HRESULT WsFlushBody(
  [in]           WS_MESSAGE             *message,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Параметры

[in] message

Указатель на структуру WS_MESSAGE , содержащую накопленные данные текста сообщения.

[in] minSize

Указывает минимальное количество байтов, которое должно присутствовать в сообщении, чтобы функция выполнила очистку данных.

Примечание Если сообщение содержит меньше minSize , WSFlushBody завершает работу без сброса ввода-вывода. Большее значение гарантирует, что операции ввода-вывода не будут выполняться до тех пор, пока не будет накоплено большее значение. Это полезно для обеспечения использования больших блоков при выполнении операций ввода-вывода. И предполагая, что имеется по крайней мере один байт накопленных данных, значение 0 в minSize гарантирует, что они будут удалены.
 

[in, optional] asyncContext

Указатель на WS_ASYNC_CONTEXT структуру данных с информацией об асинхронном вызове функции. Значение NULL указывает на запрос для синхронной операции.

[in, optional] error

Указатель на объект WS_ERROR , в котором должны храниться дополнительные сведения об ошибке в случае сбоя функции.

Возвращаемое значение

Эта функция может возвращать одно из этих значений.

Код возврата Описание
WS_S_ASYNC
Асинхронная операция по-прежнему находится в состоянии ожидания.
WS_E_INVALID_FORMAT
Входные данные не были в ожидаемом формате или не имели ожидаемого значения.
E_INVALIDARG
Один или несколько аргументов недопустимы.
E_OUTOFMEMORY
Не хватает памяти.
Другие ошибки
Эта функция может возвращать другие ошибки, не перечисленные выше.

Комментарии

Эта функция не является операцией, если WS_STREAMED_OUTPUT_TRANSFER_MODE не задана или если используется модуль записи XML с WS_XML_WRITER_BUFFER_OUTPUT набором.

Эта функция является ярлыком для вызова WsFlushWriter для модуля записи XML, используемого для записи сообщения. Вызов WsFlushWriter напрямую эквивалентен вызову этой функции.

Требования

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