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 ,则 headerIndex 必须为零。

[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
标头 webservices.h
Library WebServices.lib
DLL WebServices.dll