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


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

Считывает заголовки сообщения и готовится к чтению элементов текста. Операция считывает начало следующего сообщения из средства чтения, включая заголовки сообщения. Этот процесс позволяет считывать сообщения из других источников, кроме каналов. Чтобы прочитать сообщение с помощью канала, используйте WsReadMessageStart.

Примечание При успешном выполнении заголовки хранятся в сообщении и могут быть получены случайным образом с помощью таких функций, как WsGetHeader или WsGetCustomHeader.

 

Синтаксис

HRESULT WsReadEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_READER            *reader,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

Параметры

[in] message

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

[in] reader

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

Примечание Вызывающий объект функции должен поддерживать допустимость средства чтения до вызова WsResetMessage или WsFreeMessage .
Параметр WS_MESSAGE_DONE_CALLBACK можно использовать таким образом, чтобы узнать, что WS_XML_READER больше не используется.

 

[in, optional] doneCallback

Идентифицирует функцию обратного вызова, инициируемую при успешном выполнении текущей операции после освобождения сообщения.

Примечание Сообщения освобождаются с помощью WsFreeMessage или WsResetMessage

 
Обратный вызов можно использовать, чтобы определить, используется ли экземпляр WS_XML_READER этим сообщением. Если текущая операция завершается сбоем, обратный вызов не вызывается.

[in, optional] doneCallbackState

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

[in, optional] error

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

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

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

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

Комментарии

Сообщение должно находиться в состоянии WS_MESSAGE_STATE_EMPTY . При успешном выполнении сообщение имеет состояние WS_MESSAGE_STATE_READING.

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

Требования

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