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