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


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

Записывает начало сообщения, включая текущий набор заголовков сообщения, и готовится к записи элементов текста.

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

Синтаксис

HRESULT WsWriteEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_WRITER            *writer,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

Параметры

[in] message

Указатель на объект Message для записи. Указатель должен ссылаться на допустимый объект WS_MESSAGE .

[in] writer

Указатель на объект модуля записи XML для записи сообщения. Объект Message использует модуль записи в последующих вызовах для записи сообщения. Вызывающий объект должен держать модуль записи действительным до вызова WsResetMessage или WsFreeMessage .

С помощью параметра WS_MESSAGE_DONE_CALLBACK можно определить, что WS_XML_WRITER больше не используется.

[in, optional] doneCallback

Функция обратного вызова, вызываемая при освобождении или сбросе сообщения. Этот обратный вызов можно использовать, чтобы указать, что WS_XML_WRITER объект больше не используется этим сообщением. Если эта функция завершается сбоем, обратный вызов не вызывается. Если функция выполняется успешно, обратный вызов вызывается только один раз.

[in, optional] doneCallbackState

Пустой указатель на определяемое пользователем состояние, которое будет передано указанному обратному вызову. Этот параметр может иметь значение NULL.

[in, optional] error

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

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

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

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

Комментарии

Начало сообщения, включая текущий набор заголовков, которые существуют в сообщении, записываются в модуль записи.

Для сообщения необходимо задать состояние WS_MESSAGE_STATE_INITIALIZED. При успешном выполнении состояние сообщения переходит в WS_MESSAGE_STATE_WRITING.
При сбое переход состояния не происходит.

Для записи элемента текста сообщения используйте WsWriteBody. Чтобы выполнить запись непосредственно в модуль записи сообщения, получите средство чтения с WS_MESSAGE_PROPERTY_ID свойством WS_MESSAGE_PROPERTY_BODY_WRITER .

Требования

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