WsShutdownSessionChannel 函数 (webservices.h)
用于指示会话通道的消息结束。
语法
HRESULT WsShutdownSessionChannel(
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
参数
[in] channel
要关闭的会话通道。
[in, optional] asyncContext
有关如何异步调用函数的信息;如果以同步方式调用,则为 NULL 。
[in, optional] error
指定函数失败时应存储其他错误信息的位置。
返回值
此函数可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
如果通道不处于 WS_CHANNEL_STATE_OPEN 状态,则返回此值。 |
注解
此函数将向远程方指示已为通道发送所有消息。
远程方可以通过在接收消息时查找 WS_S_END 返回值来检测通道上没有更多消息可用。 (请参阅 Windows Web Services 返回值。) 但是,如果通道筛选了非应用程序消息,则消息也可能变得不可用,如 通道层概述中所述。 可以通过跟踪是否收到以前的消息来区分会话关闭与消息筛选。 如果收到以前的消息,则会话已关闭。
此函数仅适用于使用支持消息发送的会话 的WS_CHANNEL_TYPE 创建的通道:
通道必须处于 WS_CHANNEL_STATE_OPEN 状态。如果此函数成功,则 WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN 属性的值将为 TRUE。
关闭会话通道后,尝试在通道上发送消息或尝试关闭通道将返回 WS_E_INVALID_OPERATION。
调用此函数是可选的。 在 WS_CHANNEL_STATE_OPEN 中使用 WsCloseChannel 关闭会话通道时,该通道会在关闭过程中自动关闭。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |