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


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

Находит определенный стандартный заголовок в сообщении и десериализует его.

Синтаксис

HRESULT WsGetHeader(
  [in]           WS_MESSAGE     *message,
  [in]           WS_HEADER_TYPE headerType,
  [in]           WS_TYPE        valueType,
  [in]           WS_READ_OPTION readOption,
  [in, optional] WS_HEAP        *heap,
                 void           *value,
  [in]           ULONG          valueSize,
  [in, optional] WS_ERROR       *error
);

Параметры

[in] message

Сообщение, содержащее заголовок .

Сообщение может находиться в любом состоянии, но WS_MESSAGE_STATE_EMPTY.

[in] headerType

Тип заголовка для десериализации.

[in] valueType

Тип десериализуемого значения. Набор типов, соответствующих каждому типу заголовка, см. в WS_HEADER_TYPE .

[in] readOption

Является ли значение обязательным и как его выделить. WS_READ_NILLABLE_VALUE и WS_READ_NILLABLE_POINTER параметры чтения не могут быть указаны, так как типы заголовков в WS_HEADER_TYPE не допускаются в соответствующих спецификациях стандартов. Дополнительные сведения см. в разделе WS_READ_OPTION .

[in, optional] heap

Куча для хранения десериализованных данных заголовка. Если значение равно NULL, будет использоваться куча сообщений.

value

Интерпретация этого параметра зависит от WS_READ_OPTION.

[in] valueSize

Интерпретация этого параметра зависит от WS_READ_OPTION.

[in, optional] error

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

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

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

Код возврата Описание
WS_E_INVALID_FORMAT
Заголовок не существует и является обязательным.

В сообщении присутствует несколько экземпляров типа заголовка.

Входные данные не были в ожидаемом формате.

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

Комментарии

Этот API предоставляет доступ к набору стандартных типов заголовков (см . WS_HEADER_TYPE). Для определяемых приложением типов заголовков используйте WsGetCustomHeader.

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

Требования

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