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


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

Адресует сообщение по указанному адресу конечной точки.

Синтаксис

HRESULT WsAddressMessage(
  [in]           WS_MESSAGE                *message,
  [in, optional] const WS_ENDPOINT_ADDRESS *address,
  [in, optional] WS_ERROR                  *error
);

Параметры

[in] message

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

[in, optional] address

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

Примечание Передача значения NULL этому параметру означает, что заголовки не добавляются в сообщение. Это позволяет задать WS_MESSAGE_PROPERTY_IDWS_MESSAGE_PROPERTY_IS_ADDRESSED без изменения набора заголовков в сообщении.
 

[in, optional] error

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

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

Если функция выполняется успешно, она возвращает NO_ERROR; В противном случае возвращается код ошибки HRESULT.

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

Комментарии

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

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

Эта функция завершается сбоем, если сообщение уже было адресовано и возвращает WS_E_INVALID_OPERATION.

Если в функцию передается WS_ENDPOINT_ADDRESS, отличное от NULL, функция выполняет следующие дополнительные действия:

  • Тип заголовка — WS_TO_HEADER (см. перечисление WS_HEADER_TYPE), а для адреса — значение поля URL-адреса WS_ENDPOINT_ADDRESS. Если длина URL-адреса равна нулю, для сообщения задается WS_ADDRESSING_VERSION представление анонимного URL-адреса.
  • Каждый заголовок в WS_XML_BUFFER , указанный в поле заголовков WS_ENDPOINT_ADDRESS , добавляется в сообщение. Заголовки не добавляются, если буфер имеет значение NULL.

Требования

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