WsAbortChannel 函数 (webservices.h)

取消指定通道的所有挂起 I/O

语法

HRESULT WsAbortChannel(
  [in]           WS_CHANNEL *channel,
  [in, optional] WS_ERROR   *error
);

参数

[in] channel

指向 WS_CHANNEL 结构的指针,该结构表示要取消 I/O 的通道。

[in, optional] error

指向 WS_ERROR 结构的指针,该结构在函数失败时接收其他错误信息。

返回值

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

返回代码 说明
WS_E_NOT_SUPPORTED
有关平台限制,请参阅“备注”部分。
E_INVALIDARG
一个或多个参数无效。

注解

Windows Server 2003 及之前版本: 在 Windows Vista 之前的 Windows 平台上,如果通道处于WS_CHANNEL_STATE_ACCEPTING状态且侦听器尚未中止,则WS_UDP_CHANNEL_BINDING或WS_HTTP_CHANNEL_BINDING不支持此函数。

(有关通道绑定和通道状态的信息,请参阅 WS_CHANNEL_BINDINGWS_CHANNEL_STATE 枚举。)

在中止处于WS_CHANNEL_STATE_OPEN或WS_CHANNEL_STATE_FAULTED状态的通道时,WS_HTTP_CHANNEL_BINDING WS_CHANNEL_TYPE_REPLY也不支持此函数。 (有关通道类型的信息,请参阅 WS_CHANNEL_TYPE 枚举。

可以为处于任何状态的通道调用 WsAbortChannel,并且不会等待挂起的 I/O 完成,然后再中止通道。

如果通道处于WS_CHANNEL_STATE_OPEN状态,则 WsAbortChannel 会导致通道故障WS_CHANNEL_STATE_FAULTED状态。

注意 有关如何跳过特定消息并保持通道打开的信息,请参阅 WsAbandonMessage

 
如果使用有效参数调用,则此函数不会因缺少系统资源等原因而失败。 但是,请注意备注开头的某些操作系统版本的限制。

要求

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