WsGetCustomHeader 函数 (webservices.h)

查找消息的应用程序定义的标头并将其反序列化。

语法

HRESULT WsGetCustomHeader(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *customHeaderDescription,
  [in]           WS_REPEATING_HEADER_OPTION   repeatingOption,
  [in]           ULONG                        headerIndex,
  [in]           WS_READ_OPTION               readOption,
  [in, optional] WS_HEAP                      *heap,
                 void                         *value,
  [in]           ULONG                        valueSize,
                 ULONG                        *headerAttributes,
  [in, optional] WS_ERROR                     *error
);

参数

[in] message

包含 标头的消息。

消息可以处于任何状态,但 WS_MESSAGE_STATE_EMPTY

[in] customHeaderDescription

描述标头元素 的WS_ELEMENT_DESCRIPTION

[in] repeatingOption

标头是否可在消息中多次出现。

如果使用 WS_REPEATING_HEADER ,则标头索引指示要返回具有指定 headerName 的标头中的哪一个。

如果使用 WS_SINGLETON_HEADER ,则 headerIndex 必须为零。

[in] headerIndex

具有指定 headerName 的标头集中标头的从零开始的索引。

[in] readOption

值是否是必需的,以及如何分配该值。 有关详细信息 ,请参阅WS_READ_OPTION

[in, optional] heap

要存储反序列化标头数据的堆。 如果为 NULL,则消息堆将按 WS_READ_OPTION的要求使用。

value

此参数的解释取决于 WS_READ_OPTION

[in] valueSize

此参数的解释取决于 WS_READ_OPTION

headerAttributes

返回此标头 的WS_HEADER_ATTRIBUTES 。 指针可以为 NULL,在这种情况下不返回任何属性。

[in, optional] error

指定函数失败时应存储其他错误信息的位置。

返回值

此函数可以返回其中一个值。

返回代码 说明
WS_E_INVALID_FORMAT
标头不存在,并且是必需的。

WS_SINGLETON_HEADER 已指定,并且消息中存在标头类型的多个实例。

输入数据未采用预期格式。

WS_E_QUOTA_EXCEEDED
超出了堆的大小配额。
E_OUTOFMEMORY
没有足够的内存可用于反序列化标头。
E_INVALIDARG
一个或多个参数不正确。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

此 API 对面向最终接收方的标头进行操作。
此 API 将忽略面向除最终接收方以外的角色/参与者的标头。

要求

   
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 webservices.h
Library WebServices.lib
DLL WebServices.dll