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


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

Гарантирует, что в сообщении достаточное количество байтов для чтения. Приложение должно указать количество байтов, достаточное для того, чтобы содержать следующую конструкцию XML для чтения.

Примечание Эта функция вызывается перед использованием WsReadBody или средства чтения XML сообщения для чтения текста сообщения.
 

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

Синтаксис

HRESULT WsFillBody(
  [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 , функция ничего не делает.

Примечание Значение minSize представляет размер закодированной формы XML, которая ожидается. Это может отличаться в зависимости от кодировки и способа структурирования xml. Обычно эта функция используется для выбора ожидаемого количества байтов верхней границы для кодировки или структуры XML, чтобы обеспечить чтение ожидаемых данных.
 

[in, optional] asyncContext

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

[in, optional] error

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

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

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

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

Комментарии

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

Эта функция не выполняется при записи текста сообщения, и WS_STREAMED_OUTPUT_TRANSFER_MODE не задано, или в режиме чтения XML задано значение WS_XML_READER_BUFFER_INPUT.

Требования

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