WsCheckMustUnderstandHeaders 函数 (webservices.h)

验证接收方是否理解指定的标头。

注意 应在已为收到的消息读取所有标头后调用此函数。

 

语法

HRESULT WsCheckMustUnderstandHeaders(
  [in]           WS_MESSAGE *message,
  [in, optional] WS_ERROR   *error
);

参数

[in] message

指向包含要理解的标头 的WS_MESSAGE 结构的指针。

[in, optional] error

指向 WS_ERROR 结构的指针,如果函数失败,将存储其他错误信息。

返回值

如果函数成功,则返回NO_ERROR;否则,它将返回 HRESULT 错误代码。

返回代码 说明
WS_E_INVALID_OPERATION
消息未处于正确状态。 有关详细信息,请参见“备注”部分。
WS_E_INVALID_FORMAT
验证失败,或消息格式不正确。
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
内存不足,无法完成操作。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

由于标头集是可扩展的,因此有必要确定消息是否已得到足够的理解以进行处理。 因此,发送方可以使用此函数来指示哪些标头必须理解,哪些标头可被视为可选标头或信息性标头。

标准寻址标头(如 在 WS_HEADER_TYPE 中定义的标头)会自动被假定为被理解,即使它们从未通过调用 WsGetHeader 进行读取。

还假定可以理解 由 WsGetCustomHeader 读取的自定义应用程序定义的标头。 调用 WsGetCustomHeader 将自动将特定标头标记为已理解。

对于应用程序处理的任何其他标头,应用程序必须通过调用 WsMarkHeaderAsUnderstood 将标头显式标记为已理解。 否则,标头被视为无法理解。

应在已为收到的消息读取所有标头后调用此函数。 必须调用此函数的一个例外是中介将消息转发到另一个节点,而不更改其标识 (消息 ID) ,因为最终节点将执行检查。

如果未理解任何指定的标头,该函数将失败。 如果向函数提供错误对象,则将使用可用于发送错误的信息填充 (请参阅 WsCreateFaultFromError) 。

消息必须处于WS_MESSAGE_STATE_READING状态。

要求

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