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

Настраивает обратный вызов для получения байтов, записываемых в элементе .
В некоторых кодировках это может быть более эффективным, если исключить копию данных.

Синтаксис

HRESULT WsPullBytes(
  [in]           WS_XML_WRITER          *writer,
  [in]           WS_PULL_BYTES_CALLBACK callback,
  [in, optional] void                   *callbackState,
  [in, optional] WS_ERROR               *error
);

Параметры

[in] writer

Модуль записи, в который будут записаны байты.

[in] callback

Обратный вызов, вызываемый при записи двоичных данных.

[in, optional] callbackState

Определяемое пользователем состояние, передаваемое в обратный вызов.

[in, optional] error

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

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

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

Код возврата Описание
E_INVALIDARG
Один или несколько аргументов являются недопустимыми.
WS_E_INVALID_OPERATION
Операция не разрешена из-за текущего состояния объекта .
WS_E_QUOTA_EXCEEDED
Превышена квота.

Комментарии

WsWriteBytes и WsPushBytes требуют, чтобы буфер данных был предоставлен модулю записи. В некоторых шаблонах использования для этого может потребоваться дополнительная копия данных. Для этих сценариев WsPullBytes предлагает способ запросить у модуля записи буфер, который должен быть заполнен данными.

Если кодирование не может воспользоваться этим поведением, WsPullBytes немедленно вызовет обратный вызов и будет работать так, как если бы wsWriteBytes был вызван для результирующих данных.

Требования

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