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

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

Синтаксис

HRESULT WsGetMappedHeader(
  [in]           WS_MESSAGE                 *message,
  [in]           const WS_XML_STRING        *headerName,
  [in]           WS_REPEATING_HEADER_OPTION repeatingOption,
  [in]           ULONG                      headerIndex,
  [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] headerName

Имя сопоставленного заголовка.

[in] repeatingOption

Указывает, может ли заголовок отображаться в сообщении несколько раз.

Если используется WS_REPEATING_HEADER , индекс заголовка указывает, какой из заголовков с указанным headerName нужно вернуть.

Если используется WS_SINGLETON_HEADER , то заголовокIndex должен быть равен нулю.

[in] headerIndex

Отсчитываемый от нуля индекс заголовка в наборе заголовков с указанным headerName.

[in] valueType

Тип десериализуемого значения.

[in] readOption

Является ли значение обязательным и как его выделить. Дополнительные сведения см. в разделе WS_READ_OPTION .

Если заголовок является необязательным (может отображаться ноль или один раз), можно использовать WS_READ_OPTIONAL_POINTER .

[in, optional] heap

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

value

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

[in] valueSize

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

[in, optional] error

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

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

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

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

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

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

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

Комментарии

Сообщение может содержать дополнительные сведения о транспорте, которые не являются частью конверта сообщения. Эти сведения, относящиеся к транспорту, могут предоставляться программным способом в виде заголовков объекта Message. Эта функция используется для чтения заголовка, сопоставленного транспортом с сообщением.

При использовании http-канала необходимо указать необходимые сопоставления, прежде чем можно будет извлечь заголовки с помощью этой функции. Дополнительные сведения см. в разделе WS_HTTP_MESSAGE_MAPPING.

Требования

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